| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This should fix texturing in the new FS backend.
|
|
|
|
| |
Not needed now that we're doing barycentric.
|
| |
|
|
|
|
|
| |
I only set it on the color_regions == 0 case, missing the important
case, causing GPU hangs on pre-gen6.
|
|
|
|
| |
Only cosmetic changes. No actual practical difference.
|
|
|
|
|
|
|
|
|
|
|
| |
- Handle PIPE_FORMAT_Z32_FLOAT packing correctly.
- In the integer version z shouldn't be passed as as double.
- Make it clear that the integer versions should only be used for masks.
- Make integer type sizes explicit (uint32_t for now, although
uint64_t will be necessary later to encode f32_s8_x24).
|
|
|
|
|
| |
More accurate/faster results for PIPE_TEX_MIPFILTER_NEAREST. Less
FP <-> SI conversion overall.
|
| |
|
| |
|
|
|
|
| |
The only way to ensure we don't do redundant FP <-> SI conversions.
|
|
|
|
| |
Not tested yet, but should be correct.
|
| |
|
| |
|
|
|
|
|
|
| |
The jump delta is now in the part of the instruction where the
destination fields used to be, and the src args are ignored (or not,
for the new non-predicated IF that we don't use yet).
|
| |
|
|
|
|
| |
It's not that hard to detect when we need the header.
|
|
|
|
|
|
| |
Avoid having object ending up in dead list of dirty object.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
| |
We could do the first operand as well by flipping the comparison, but
this covered several CMPs in code I was looking at.
|
|
|
|
| |
A debug disable had slipped in.
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
| |
Q coordinate's coefficients also need to be multiplied by w, otherwise
it will have 1/w, causing problems with TXP.
|
|
|
|
|
|
|
|
|
|
|
| |
Once a fragment is generated with LP_INTERP_PERSPECTIVE set for an input,
it will do a divide by w for that input. Therefore it's not OK to treat LP_INTERP_PERSPECTIVE as
LP_INTERP_LINEAR or vice-versa, even if the attribute is known to not
vary.
A better strategy would be to take the primitive in consideration when
generating the fragment shader key, and therefore avoid the per-fragment
perspective divide.
|
| |
|
| |
|
| |
|
|
|
|
| |
this sets the stencil up for evergreen properly.
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=30632
NOTE: this is a candidate for the 7.9 branch.
|
|
|
|
|
|
|
| |
Since flush rework there could be only one relocation per
register in a block.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
| |
Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.
|
| |
|
|
|
|
|
|
|
|
|
| |
Flush read cache before writting register. Track flushing inside
of a same cs and avoid reflushing same bo if not necessary. Allmost
properly force flush if bo rendered too and then use as a texture
in same cs (missing pipeline flush dunno if it's needed or not).
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
|
| |
Allow fast lookup of relocation information & id which
was a CPU time consumming operation.
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
| |
we weren't decreasing when removing from the list.
|
|
|
|
|
|
| |
if we know the bo has gone not busy, no need to add another bo wait
thanks to Andre (taiu) on irc for pointing this out.
|
|
|
|
| |
since we plan on using dx10 constant buffers everywhere.
|
|
|
|
| |
we don't use this since constant buffers are now being used on all gpus.
|
|
|
|
|
|
| |
When we go to do a lot of bos in one draw like constant bufs we need
to avoid bouncing off the busy ioctl, this mitigates by backing off
on busy bos for a short amount of times.
|
|
|
|
|
| |
If we assume busy buffers are added to the list in order its unlikely
we'd fine one after the first busy one that isn't busy.
|
|
|
|
|
| |
this just keeps a list of bos submitted together, and uses them to decide
bo busy state for the whole group.
|
|
|
|
| |
NOTE: this is a candidate for the 7.9 branch.
|
|
|
|
|
|
| |
These texture formats (like R16G16B16A16_UNORM) were untested until now
because st/mesa doesn't use them. I am testing this with a hacked st/mesa
here.
|
|
|
|
|
| |
This uses message headers for now, since we'll need it for MRT. We
can cut out the header later.
|
|
|
|
| |
It instead sensibly appears in the src0 slot.
|
|
|
|
|
|
| |
We could try to detect this in expression handling and do it
proactively there, but it seems like less logic to do it in one
optional pass at the end.
|
|
|
|
|
|
|
| |
The glsl core should be handling most dead code issues for us, but we
generate some things in codegen that may not get used, like the 1/w
value or pixel deltas. It seems a lot easier this way than trying to
work out up front whether we're going to use those values or not.
|
|
|
|
| |
This also means that our intervals now highlight dead code.
|
| |
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|