Module: Mesa Branch: main Commit: 81595cc82341b29ebd804495678852e48da9db0e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=81595cc82341b29ebd804495678852e48da9db0e
Author: Jesse Natalie <[email protected]> Date: Mon Apr 17 12:06:39 2023 -0700 d3d12: Respect buffer offsets for sampler views Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22542> --- src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt | 2 -- src/gallium/drivers/d3d12/d3d12_context.cpp | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt b/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt index ed9ccb83565..06e6f48d0db 100644 --- a/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt +++ b/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt @@ -45,8 +45,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 diff --git a/src/gallium/drivers/d3d12/d3d12_context.cpp b/src/gallium/drivers/d3d12/d3d12_context.cpp index 145f14f7470..871c98ff56f 100644 --- a/src/gallium/drivers/d3d12/d3d12_context.cpp +++ b/src/gallium/drivers/d3d12/d3d12_context.cpp @@ -931,9 +931,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:
