diff --git a/gfx/common/d3d11_common.h b/gfx/common/d3d11_common.h index 81beed5596..d59b1eaef3 100644 --- a/gfx/common/d3d11_common.h +++ b/gfx/common/d3d11_common.h @@ -2559,7 +2559,6 @@ typedef struct pass_semantics_t semantics; D3D11ShaderResourceViewRef textures[SLANG_NUM_BINDINGS]; D3D11SamplerStateRef samplers[SLANG_NUM_BINDINGS]; - int num_bindings; float frame_count; } pass[GFX_MAX_SHADERS]; diff --git a/gfx/drivers/d3d11.c b/gfx/drivers/d3d11.c index 9ac6f82c29..5fcd0d79eb 100644 --- a/gfx/drivers/d3d11.c +++ b/gfx/drivers/d3d11.c @@ -780,13 +780,10 @@ static bool d3d11_init_frame_textures(d3d11_video_t* d3d11, unsigned width, unsi texture_sem_t* texture_sem = &d3d11->pass[i].semantics.textures[j]; D3D11ShaderResourceView view = ((d3d11_texture_t*)texture_sem->texture_data)->view; D3D11SamplerStateRef sampler = *(D3D11SamplerStateRef*)texture_sem->sampler_data; - int slot = texture_sem->binding - d3d11->pass[i].semantics.min_binding; - d3d11->pass[i].textures[slot] = view; - d3d11->pass[i].samplers[slot] = sampler; + d3d11->pass[i].textures[texture_sem->binding] = view; + d3d11->pass[i].samplers[texture_sem->binding] = sampler; } - d3d11->pass[i].num_bindings = - d3d11->pass[i].semantics.max_binding - d3d11->pass[i].semantics.min_binding + 1; } } @@ -903,12 +900,8 @@ static bool d3d11_gfx_frame( D3D11RenderTargetView null_rt = NULL; D3D11SetRenderTargets(d3d11->ctx, 1, &null_rt, NULL); - D3D11SetPShaderResources( - d3d11->ctx, d3d11->pass[i].semantics.min_binding, d3d11->pass[i].num_bindings, - d3d11->pass[i].textures); - D3D11SetPShaderSamplers( - d3d11->ctx, d3d11->pass[i].semantics.min_binding, d3d11->pass[i].num_bindings, - d3d11->pass[i].samplers); + D3D11SetPShaderResources(d3d11->ctx, 0, SLANG_NUM_BINDINGS, d3d11->pass[i].textures); + D3D11SetPShaderSamplers(d3d11->ctx, 0, SLANG_NUM_BINDINGS, d3d11->pass[i].samplers); if (d3d11->pass[i].rt.handle) { diff --git a/gfx/drivers_shader/slang_process.cpp b/gfx/drivers_shader/slang_process.cpp index a4a5007825..7faacf5d81 100644 --- a/gfx/drivers_shader/slang_process.cpp +++ b/gfx/drivers_shader/slang_process.cpp @@ -208,7 +208,6 @@ static bool slang_process_reflection( } } - out->min_binding = SLANG_NUM_BINDINGS; texture_map_t* texture_map = semantics_map->texture_map; while (texture_map->texture_data) @@ -228,12 +227,6 @@ static bool slang_process_reflection( strncpy(texture.id, id.c_str(), sizeof(texture.id)); - if (out->max_binding < src.binding) - out->max_binding = src.binding; - - if (out->min_binding > src.binding) - out->min_binding = src.binding; - textures.push_back(texture); uniform_sem_t uniform = { texture_map->size_data, texture_map->size_id, @@ -259,9 +252,6 @@ static bool slang_process_reflection( texture_map++; } - if (out->min_binding > out->max_binding) - out->min_binding = out->max_binding; - out->texture_count = textures.size(); textures.push_back({ NULL }); diff --git a/gfx/drivers_shader/slang_process.h b/gfx/drivers_shader/slang_process.h index b5b14c5869..9fafd71ed6 100644 --- a/gfx/drivers_shader/slang_process.h +++ b/gfx/drivers_shader/slang_process.h @@ -93,8 +93,6 @@ typedef struct { int texture_count; texture_sem_t* textures; - int max_binding; - int min_binding; cbuffer_sem_t cbuffers[SLANG_CBUFFER_MAX]; } pass_semantics_t;