GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
These include small functional changes, so not strictly refactors, but nothing major.
Again, recommend reviewing each commit individually.
Does this change break/fix anything obvious?
Not really, for correct functioning (under the current VS-only setup) these two have to be set to the same value, this is just for better isolation between the funcional units of the hardware. Ths is the actual configuration of the vetex frontend, whereas the other one was fr the shader input (which the frontend feeds to). Afaik for GS support the previous code would need to switch between the correct input unit, whereas with this reg this will always have the appropriate setting.
Why <= instead of == ?
OutputVertex has additional members and padding which are used internally. (I do remove those on the next commit.)
Updated with a commit to fix the build error on Linux.
VideoCore: Change misleading register names
A few registers had names such as "count" or "number" when they actually
contained the maximum (that is, count - 1). This can easily lead to hard
to notice off by one errors.
VideoCore: Rename some types to more accurate names
VideoCore: Use correct register for immediate mode attribute count
VideoCore: Consistently use shader configuration to load attributes
VideoCore: Split shader output writing from semantic loading
Common: Optimize BitSet iterator
VideoCore/Shader: Clean up OutputVertex::FromAttributeBuffer
This also fixes a long-standing but neverthless harmless memory
corruption bug, whech the padding of the OutputVertex struct would get
corrupted by unused attributes.
VideoCore: Extract swrast-specific data from OutputVertex
VideoCore: Make PrimitiveAssembler const-correct
I plan on merging this sometime this weekend.
Merge pull request #2476 from yuriks/shader-refactor3
Oh No! More shader changes!