From 27404a861788005df44a2100e7259fdaa84430e9 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Mon, 17 Apr 2023 12:06:39 -0700 Subject: [PATCH] d3d12: Respect buffer offsets for sampler views Cc: mesa-stable Part-of: (cherry picked from commit 81595cc82341b29ebd804495678852e48da9db0e) --- .pick_status.json | 2 +- src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt | 2 -- src/gallium/drivers/d3d12/d3d12_context.cpp | 3 ++- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 8f308bcb45c..79c09758b93 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -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 }, diff --git a/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt b/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt index 3791fd431ee..58de02bfaa3 100644 --- a/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt +++ b/src/gallium/drivers/d3d12/ci/d3d12-quick_gl.txt @@ -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 diff --git a/src/gallium/drivers/d3d12/d3d12_context.cpp b/src/gallium/drivers/d3d12/d3d12_context.cpp index 28cba46ff4e..dd40c6f3ad7 100644 --- a/src/gallium/drivers/d3d12/d3d12_context.cpp +++ b/src/gallium/drivers/d3d12/d3d12_context.cpp @@ -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: