GPU/Pitfalls: Difference between revisions

m Some extra notes about alignment
m Wording to make things more clear
Line 7: Line 7:
=== Vertex attribute alignment ===
=== Vertex attribute alignment ===


Vertex components which are defined through [[GPU/Internal_Registers#GPUREG_ATTRIBBUFFERi_CONFIG1|GPUREG_ATTRIBBUFFERi_CONFIG1]] will be aligned.
Vertex components which are defined through [[GPU/Internal_Registers#GPUREG_ATTRIBBUFFERi_CONFIG1|GPUREG_ATTRIBBUFFERi_CONFIG1]] will be accessed aligned by the GPU.
* Vertex attributes will be aligned to their component element size.
* Vertex attributes will be aligned to their component element size.
* Padding attributes (Component type > 11) will always aligned to 4 byte offets into the buffer.
* Padding attributes (Component type > 11) will always aligned to 4 byte offets into the buffer.
* The stride should remain passed unaligned.
* The stride which is passed to the GPU should be passed unaligned.


=== Vertex stride in GPUREG_ATTRIBBUFFERi_CONFIG2 ===
=== Vertex stride in GPUREG_ATTRIBBUFFERi_CONFIG2 ===