Comments (4)
How does HLSL/dxc handle texture buffer types that exceeds 4 floats?
from slang.
Looking at the HLSL spec, it seems a tbuffer is treated as a u32 format texture, and loads from the buffer is lowered into texture fetches + bit casts. Seems like a lowering pass is in order to support this on spirv and metal. I doubt it offers any actual benefit over the use of a StructuredBuffer.
from slang.
I doubt it offers any actual benefit over the use of a StructuredBuffer.
tbuffer predates StructuredBuffer
, likely is only kept around for legacy reasons, although tbuffer does use cbuffer packing rules from what I gather, so that may make a difference (for the worse in some senarios)...
from slang.
How does HLSL/dxc handle texture buffer types that exceeds 4 floats?
likely as you said here: "loads from the buffer is lowered into texture fetches + bit casts"
the logic should be reasonably simple regardless since Slang knows the offset of every field, therefore meaning all accesses are fairly obvious in byte offset.
from slang.
Related Issues (20)
- [MDL:5/5] Add support for embedded precompiled library feature HOT 1
- Enable warnings-as-error on CI tests
- Slang parser incorrectly recognizes line continuations HOT 1
- slang not annotating array as restricted or aliased
- Capability System: Simplify CapabilitySet Diagnostic Printing
- Capability System: Fully define all capabilities meant for a user with 2 representations `_Internal_atom`/`External_atom` HOT 1
- Need further development of built-in interfaces
- Capability System: Simplify how we report incompatibilities of CapabilitySets to users
- Ignore CI when only `docs/proposal` is changed.
- `all` and/or `==` doesn't work as intended on metal. HOT 1
- ConstantBuffer inside a ParameterBlock breaks the compiler when targeting metal.
- AST: `CheckSwizzleExpr` can cause Stack around the variable 'elementIndices' was corrupted.
- AST: `CheckSwizzleExpr` can cause `Stack around the variable 'elementIndices' was corrupted` error
- Address compiler warnings HOT 2
- Reflection API: Allow querying backward and forward derivative methods for `public` methods that are also `[Differentiable]`
- Allow non-static methods on structs to be differentiated through `bwd_diff` and `fwd_diff`
- Reflection API: Allow lookups of derivative member decorations
- SPIRV validation error message is no longer printed
- DXIL validation errors with uninitialized fields
- Type constraint error in parameter list
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slang.