d3d12: Respect buffer offsets for sampler views

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22542>
(cherry picked from commit 81595cc823)
This commit is contained in:
Jesse Natalie 2023-04-17 12:06:39 -07:00 committed by Eric Engestrom
parent 846080db5d
commit 27404a8617
3 changed files with 3 additions and 4 deletions

View file

@ -274,7 +274,7 @@
"description": "d3d12: Respect buffer offsets for sampler views",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -46,8 +46,6 @@ spec@arb_sample_shading@arb_sample_shading-builtin-gl-sample-mask-mrt-alpha-to-c
spec@arb_seamless_cube_map@arb_seamless_cubemap,Fail
spec@arb_shader_atomic_counters@semantics,Fail
spec@arb_shader_atomic_counters@semantics@Tessellation control shader atomic built-in semantics,Fail
spec@arb_texture_buffer_range@ranges-2,Fail
spec@arb_texture_buffer_range@ranges-2 compat,Fail
spec@arb_texture_cube_map_array@arb_texture_cube_map_array-sampler-cube-array-shadow,Fail
spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch,Fail
spec@arb_texture_multisample@arb_texture_multisample-dsa-texelfetch@Texture type: GL_RGB9_E5,Fail

View file

@ -918,9 +918,10 @@ d3d12_init_sampler_view_descriptor(struct d3d12_sampler_view *sampler_view)
desc.TextureCubeArray.ResourceMinLODClamp = 0.0f;
break;
case D3D12_SRV_DIMENSION_BUFFER:
offset += state->u.buf.offset;
desc.Buffer.StructureByteStride = 0;
desc.Buffer.FirstElement = offset / util_format_get_blocksize(state->format);
desc.Buffer.NumElements = MIN2(texture->width0 / util_format_get_blocksize(state->format),
desc.Buffer.NumElements = MIN2(state->u.buf.size / util_format_get_blocksize(state->format),
1 << D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP);
break;
default: