Skip to content

[DirectX] Shader Flag Analysis to indicate use of Raw and Structured Buffers #112273

@bharadwajy

Description

@bharadwajy

Two flags viz., ComputeShadersPlusRawAndStructuredBuffers and EnableRawAndStructuredBuffers are set based on use of raw and structured buffers.

  • Implement shader flag analysis to set EnableRawAndStructuredBuffers if shader uses Raw or Structured buffers.
  • Implement shader flag analysis to set ComputeShadersPlusRawAndStructuredBuffers if shader uses Raw or Structured buffers, SM Major is = 4 and is a compute shader

NOTE:EnableRawAndStructuredBuffers is required for particle life but ComputeShadersPlusRawAndStructuredBuffers depends on one extra condition and can be implemented alongside.

See DxilModule::CollectShaderFlagsForModule(ShaderFlags &Flags) - specifically setting of bool hasRawAndStructuredBuffer for the conditions to set the flag ComputeShadersPlusRawAndStructuredBuffers and EnableRawAndStructuredBuffers.

AC
Add tests that use Raw and Structure buffers to verify that the flags are appropriately set.

Metadata

Metadata

Assignees

Labels

backend:DirectXobsoleteIssues with old (unsupported) versions of LLVM

Type

No type

Projects

Status

Closed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions