Skip to content

Comments

[SPIR-V][vk::SampledTexture] #6. Add remaining .Gather...() methods for vk::SampledTexture2D type. #8149

Open
luciechoi wants to merge 17 commits intomicrosoft:mainfrom
luciechoi:gatherred
Open

[SPIR-V][vk::SampledTexture] #6. Add remaining .Gather...() methods for vk::SampledTexture2D type. #8149
luciechoi wants to merge 17 commits intomicrosoft:mainfrom
luciechoi:gatherred

Conversation

@luciechoi
Copy link
Collaborator

@luciechoi luciechoi commented Feb 10, 2026

Part of #7979

TemplateType GatherRed(float2 Location, int2 Offset1, int2 Offset2, int2 Offset3, int2 Offset4, uint Status);
TemplateType GatherGreen(float2 Location, int2 Offset1, int2 Offset2, int2 Offset3, int2 Offset4, uint Status);
TemplateType GatherBlue(float2 Location, int2 Offset1, int2 Offset2, int2 Offset3, int2 Offset4, uint Status);
TemplateType GatherAlpha(float2 Location, int2 Offset1, int2 Offset2, int2 Offset3, int2 Offset4, uint Status);
TemplateType GatherCmp(float Location, float CompareValue, int2 Offset, uint Status);
TemplateType GatherCmpRed(float Location, float CompareValue, int2 Offset1, int2 Offset2, int2 Offset3, int2 Offset4, uint Status);

GatherCmpGreen, GatherCmpBlue, GatherCmpAlpha, GatherRaw are not supported.

@luciechoi luciechoi changed the title [SPIR-V] Implement remaining Gather methods for SampledTexture. [SPIR-V] Implement remaining Gather methods for SampledTexture2D. Feb 10, 2026
@luciechoi luciechoi requested a review from s-perron February 10, 2026 18:14
Implement `GetDimensions` based on new method.
Implement  using new method
SampleCmpLevel, SampleCmpGrad, SampleCmpBias
@luciechoi luciechoi changed the title [SPIR-V] Implement remaining Gather methods for SampledTexture2D. [SPIR-V][vk::SampledTexture] #6. Add remaining .Gather...() methods for vk::SampledTexture2D type. Feb 17, 2026
@luciechoi luciechoi requested a review from Keenuts February 18, 2026 19:54
Copy link
Collaborator

@Keenuts Keenuts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the Gather commit (parent commit in another PR has some comments)

luciechoi and others added 13 commits February 19, 2026 19:13
…icrosoft#8170)

Test uses `-spirv` but lacks the `REQUIRES: spirv` annotation, so it
runs and fails under `-DENABLE_SPIRV_CODEGEN=OFF`.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
microsoft/hlsl-specs#783 changed the names of
the linalg DXIL ops, update the implementation to reflect that.

The only interesting changes are in `utils/hct/hctdb.py` and
`lib/HLSL/HLOperationLower.cpp` everything else is generated code
…ateDxilComputeAndNodeCommonInputs() (microsoft#8022)

As a result of
microsoft#7799, the HLSL
entry function can now contain `dbg.value` calls with !dbg location
metadata with scopes corresponding to functions which have been inlined.
The `HLSignatureLower::GenerateDxilComputeAndNodeCommonInputs()` creates
`@dx.op.threadId` intrinsic calls, using the default dbg loc when
creating an `IRBuilder`. When the first instruction in the entry block
is one of the `dbg,value` calls, its dbg location is copied to the
`@dx.op.threadId` calls. That makes the DXIL unreadable by the modern
LLVM IR reader since it fails the IR module verification because of !dbg
pointing to a different subprogram scope.

This change sets the dbg location for IRBuilder to be the !dbg node of
the first non-PHI and non-debug instruction in the block.

---------

Co-authored-by: Konstantin <konstantin.pyzhov@amd.com>
…t#8167)

We are updating the spir-v submodules. They contain a new pass that will
linearize multi-dimensional resource arrays, and call the combine access
chain pass.

This means we need to fix up some tests, and we want to make sure that
we can properly handle multi-dimensional resource array in DXC.

Fixes microsoft#7922
Resolves the `int MatrixRef` TODO left from previous changes, as well as
updates most builtins to match their final shape.

This should be considered an NFC change since these builtins aren't
implemented yet and instead we are just updating the shape of the
reversed op slots
…icrosoft#8179)

Assisted by gh copilot.

Fix BitShiftRhs test input sets to avoid shift amounts >= bit width,
which is undefined behavior in C++ and can cause test failures as
expected values are computed via C++.
microsoft/hlsl-specs#791 splits the MulOp
operation into two distinct ops. Update the placeholder code to reflect
that.

Interesting changes are in `gen_intrin_main`, `hctdb.py`, and
`HLOperationLower.cpp`. The rest of the code is generated code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

7 participants