Skip to content

vulkan scaled vertex formats - #106

Closed
Graine25 wants to merge 1 commit into
renderbag:mainfrom
Graine25:reblue-mvktweak
Closed

vulkan scaled vertex formats#106
Graine25 wants to merge 1 commit into
renderbag:mainfrom
Graine25:reblue-mvktweak

Conversation

@Graine25

@Graine25 Graine25 commented Aug 2, 2026

Copy link
Copy Markdown

This PR adds RenderFormat entries and Vulkan mappings for R8G8B8A8_USCALED, R16G16_SSCALED, and R16G16B16A16_SSCALED. re:Blue needs these formats when running through MVK so the vertex data can reach floating-point shader inputs without causing mismatches during pipeline creation.

  • R8G8B8A8_USCALED: Unsigned quads become unnormalized floating-point attributes.
  • R16G16_SSCALED: Signed pairs become unnormalized floating-point attributes.
  • R16G16B16A16_SSCALED: Signed quads become unnormalized floating-point attributes.

@DarioSamo

Copy link
Copy Markdown
Contributor

Explained over Discord already, but we want to avoid data formats that will fail on other backends, and in this case, there's no direct equivalent for these formats in D3D12. We could use UINT and SINT directly as the DXGI type, but then it could lead to a potential mismatch of what the shader declares and the format that is used. I'm currently unsure whether that operation is guaranteed to work correctly under DXIL: the input being declared as float but the format being an integer.

@Graine25 Graine25 closed this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants