Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
radeon_cs_space_check flushes the pipe context on failure, retries
the validation, and returns -1 if it fails again. At that point, there is
nothing we can do, so let's skip draw operations instead of getting stuck
in an infinite loop.
This code path ideally should never be hit.
|
|
This a leftover probably and is unnecessary, since we flush u_upload_mgr
in r300_flush.
|
|
|
|
Fixes SCons build.
|
|
|
|
Doesn't require 16-alignment, so catch more cases.
|
|
Keep step array as a set of four m128i's and reuse throughout the
rasterization.
|
|
Fragment shader can extract the correct bits for each quad.
|
|
|
|
I really don't understand the mechanism behind this, but it
seems like the way data blocks for a scene are malloced, and in
particular whether we treat them as stack or a queue, and whether
we retain the most recently allocated or least recently allocated
has a real affect (~5%) on isosurf framerates...
This is probably specific to my distro or even just my machine,
but none the less, it's nicer not to see the framerates go in the
wrong direction.
|
|
Mesa doesn't respect it anyway, but this makes it assert rather
than threads access areas of l[] that don't belong to them.
|
|
|
|
|
|
If not opaque, then the color buffer will have to be read any way,
therefore the specialization is pointless.
|
|
If the buffer we are attempting to map is referenced by the unsubmitted
command stream for this context, we need to flush the command stream,
however to do that we need to be able to access the context at the lowest
level map function, currently we set the buffer in the toplevel map, but this
racy between context. (we probably have a lot more issues than that.)
I'll look into a proper solution as suggested by jrfonseca when I get some time.
|
|
|
|
|
|
As a by-product, remove the memory leak of nv_basic_blocks.
|
|
|
|
This reverts a part of e795ca8f3175fa6fd97b6b2ef2775e3f8803012a
that causes artefacts and a performance drop.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
|
|
It's never used.
|
|
More accurate description of this function purpose.
|
|
|
|
|
|
|
|
|
|
The r300 compiler can now emit instructions that select from the presubtract
source. A peephole optimization has been added to convert instructions like:
ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract
operation.
|
|
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
We would leak bo if the argument check failed.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
This makes the 'vp1-LOG test' piglit test work.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
for evergreen I ended up using a non-contig array of states, but
this code needs a bit of fixing up to deal with that.
|
|
|
|
|
|
|
|
adds shader opcodes + assembler support (except ARL)
uses constant buffers
add interp instructions in fragment shader
adds all evergreen hw states
adds evergreen pm4 support.
this runs gears for me on my evergreen
|
|
the DDX and r600c both flush cb/db after the draw is emitted,
as long as they do that, r600g can't be different, as it races.
We end up with r600g flush, set CB, DDX set CB, flush. This
was causing misrendering on my evergreen, where sometimes the drawing
would go to an old CB.
|
|
the code should reloc correctly a single BO 3 times.
|
|
|
|
|
|
Otherwise we might clobber the origin interpolation result or
use the result of the RCP before its definition.
|
|
Since atm our OPs aren't typed but instead values are, we need to
take care if they're used as different types (e.g. a load makes a
value u32 by default).
Maybe this should be changed (also to match TGSI), but it should
work as well if done properly.
|
|
|
|
|
|
At some point we'll want to support real subroutines instead of
just inlining them into the main shader.
Since recursive calls are forbidden, we can just save all used
registers to a fixed local memory region and restore them on a
return, no need for a stack pointer.
|
|
|