Semantics, shaders, and fixups

Ivan Gyurdiev ivg231 at gmail.com
Mon Jul 3 07:42:18 CDT 2006


H. Verbeet wrote:
> On 03/07/06, Ivan Gyurdiev <ivg231 at gmail.com> wrote:
>> That's not particularly important.
> Well, it breaks color fixups :-)
...color fixups will go in their own function that does this differently 
for 8 vs 9

BOOL vshader_input_is_color(
    IWineD3DVertexShader* iface,
    unsigned int regnum);

> Something that has texcoord semantics doesn't necessarily have to
> contain texture coordinates, but it should contain something that has
> the same semantics.
Now you're talking semantics, and have me totally confused :)

"semantics" is just a word for some kind of handling you apply.
In our case the handling will be a key relationship to the vshader input 
table.

Color fixups will be handled differently in any case, and if we can have 
a shared point for loading arrays then I think we should take advantage 
of that. I really thing more reusability is needed - just because 
something works slightly different does not mean it should be completely 
rewritten - that's the approach that everyone seems to be taking. 
Otherwise, how do you explain striking similarity between 
drawStridedSlow, the (disabled) drawSoftwareVS thing, process_vertices 
in device.c, fixups in vertexbuffer.... etc [ all of which have to be 
changed now to deal with different strided data format ]




More information about the wine-devel mailing list