Age | Commit message (Collapse) | Author |
|
|
|
Fixes assertion failures on LLVM 2.6.
|
|
Nice reduction in the number of operations required for final color
output in many shaders.
|
|
Avoid multiplying fixed-point values. Calculate triangle area in
floating point use that for culling.
Lift area calculations up a level as we are already doing this in the
triangle_both() case.
Would like to share the calculated area with attribute interpolation,
but the way the code is structured makes this difficult.
|
|
|
|
|
|
|
|
|
|
Forgot this one before.
|
|
|
|
|
|
If lod < 0, then invariably follows that ilevel0 == ilevel1 == 0.
|
|
|
|
these aren't used anywhere, so just waste memory.
|
|
|
|
|
|
we should be checking output array not input to decide.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
we want to use the format from the sampler view which isn't always the
same as the texture format when creating sampler views.
|
|
interp data is stored in gpr0 so first interp overwrote it
and subsequent ones got wrong values
reserve register 0 so it's not used for attribs.
alternative is to interpolate attrib0 last (reverse, as r600c does)
|
|
This fixes a regression since 4531356817ec8383ac35932903773de67af92e37.
|
|
|
|
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.
|
|
|
|
|
|
Avoid having object ending up in dead list of dirty object.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
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 <jglisse@redhat.com>
|
|
Since flush rework there could be only one relocation per
register in a block.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
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 <jglisse@redhat.com>
|
|
Allow fast lookup of relocation information & id which
was a CPU time consumming operation.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
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.
|