Age | Commit message (Collapse) | Author |
|
The linux-debug target builds...
|
|
Use front/back instead of cw/ccw throughout.
Also, use offset_point/line/fill instead of offset_cw/ccw.
Brings gallium representation of this state into line with its main
user, and also what turns out to be the most common hardware
representation.
This fixes a long-standing bias in the interface towards the
architecture of the software rasterizer.
|
|
Don't need sprite coord origin per coord.
Also, don't need separate sprite enable bit - if all coords have it diabled,
then there are no point sprites (technically, there's a distinction in pre-GL3,
but it only differs in having more leniency in clamping to max size, something
the state tracker would need to handle and the hardware won't bother anyway).
Also, use packed field for the per-coord enables.
All in all, should save 3 dwords in rasterizer state (from 10 down to 7).
|
|
The state tracker is responsible for clamping to any graphics API enforced
size min/max limits for both the static point_size setting as well as per
vertex point size (in the vertex shader).
Note that mesa state tracker didn't actually use these values.
|
|
Not sure exactly what state we want here now, will need to experiment.
|
|
|
|
I'm emitting this in two places now, to the data presented
for upload and also in the delta field of the reloc struct.
Probably want to remove the delta field and just pull the
background from the key.
|
|
Makes it easier to dump as we get all of the information
about the upload in a single hit.
Opens the window to simplification in the driver if these
relocation arrays can be maintained statically rather than
being recreated whenever we check for a new upload.
Still needs some cleanup to avoid uglyness introduced with the
delta values.
|
|
The winsys now inserts the presumed offset into referring buffers from
inside of bo_emit_reloc(). Remove the many locally coded places where
this was happening in the driver and eliminate the worry of getting it
wrong.
No longer need to expose offset values to the driver at all, so no need
to worry about what to do in the driver when they change. Just use
zero values wherever we had offsets previously -- the relocations will
fix it all up for us.
|
|
|
|
Any allocation that may fail should be checked, and propogate the
error upwards. At the highest level we will flush batch and retry.
This is an alternate strategy to what the original DRI driver did of
attempting to flush batch from the lowest levels (eg inside
BEGIN_BATCH). The trouble with that strategy was that flushes could
occur at unexpected times, and additionally there was a need for a
wierd notification mechanism to propogate the 'lost context' state
back up to higher levels.
Propogating the errors directly gives us a lot of flexibility how to
deal with these states, at the expense of a lot more checking in the
code.
Will add some sanity checks later to make sure that out-of-memory
conditions are properly escalated and not lost halfway up the stack.
|
|
Easier to understand what's going on in the driver sources, convert
stereotype usage values back to GEM read/write domain flags in the
winsys.
|
|
A milestone of sorts. Still a long way from something working --
the old one compiled too, at least some of the time...
|
|
|
|
|
|
|
|
|
|
|