feature/texture-component-type-support #81

Merged
Zephyron merged 5 commits from feature/texture-component-type-support into main 2025-12-31 01:13:41 -05:00
Contributor

Co-Authored-By: ForrestMarkX [email protected]

Co-Authored-By: ForrestMarkX <[email protected]>
- Add SamplerComponentType enum to shader_info.h
- Add ReadTextureComponentType to Environment interface
- Add texture_component_types cache to shader environments
- Update texture descriptor to include component_type field

This is the foundation for proper texture component type handling.

Co-Authored-By: ForrestMarkX <[email protected]>
Signed-off-by: Zephyron <[email protected]>
- Add ComponentScalarType helper function
- Update ImageType to use component-specific sampled types
- Add TextureColorResultType and TextureSampleResultToFloat helpers
- Update all texture sampling functions to handle component types correctly
- Add proper type conversions for integer and stencil textures
- Add Flat decorations for integer inputs in fragment shaders
- Add NonWritable decoration for read-only storage buffers

This ensures textures are sampled with the correct component types,
improving accuracy for integer and depth/stencil textures.

Co-Authored-By: ForrestMarkX <[email protected]>
Signed-off-by: Zephyron <[email protected]>
- Add ConvertSamplerComponentType conversion function
- Implement ReadTextureComponentType for Graphics/Compute/File environments
- Update Serialize/Deserialize to include texture_component_types
- Cache component types alongside texture types

This enables proper component type caching and serialization.

Co-Authored-By: ForrestMarkX <[email protected]>
Signed-off-by: Zephyron <[email protected]>
- Update texture descriptor comparison to include component_type
- Add ReadTextureComponentType helper in texture_pass.cpp
- Use component type when creating texture descriptors

This ensures texture descriptors are properly differentiated by component type.

Co-Authored-By: ForrestMarkX <[email protected]>
Signed-off-by: Zephyron <[email protected]>
- Add block_linear_unswizzle_3d_bcn.comp compute shader for BCn format support
- Update host shaders CMakeLists to include new shader

This adds a new compute shader for BCn format handling.

Signed-off-by: Zephyron <[email protected]>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Kintoki/Emulator!81
No description provided.