Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Somehow, flushing the VS texture cache is causing crashes.
Leave it unflushed for now until we find out a way to flush it without
consistently crashing.
|
|
|
|
These are the same as _INT for our purposes.
|
|
|
|
|
|
Rendering can now be done from multiple threads or processes at once.
|
|
|
|
Only possible for v4+ kernel drivers.
Older drivers are always reported as 2.0.0.0 for now.
|
|
Consistently use 64 bit values for handles passed from kernel.
Cast these, and any normal pointers with macros when going from/through
the kernel based on the GC ABI.
|
|
|
|
Fill in hardwareType in command structures submitted to kernel.
|
|
|
|
Do some experimentation with alpha blending modes.
|
|
Add xml file with basic context registers; no register
meanings figured out yet.
|
|
Deplanarize and scale a frame from Big Buck Bunny using
the video rasterizer.
|
|
Having fun with the 2D engine.
Lines, blitting, stretching, filtering, palette expansion, ...
Current tests work on the cubox, which has PE10.
Still has to be tested on PE20 (which is most other vivante hardware).
There are some subtle but possibly significant differences.
|
|
RS_FLUSH seems to be TS_FLUSH -- ie, the TS_FLUSH command flushes
the internal cache of the tile status. It needs to be invoked after a
manual clear of the TS.
This solves a few corruption and (esp. blockyness) issues.
|
|
Divide the line width by two to correct line rendering.
Also update documentation.
|
|
Correct texture and RS alignment.
For multi-tiled and multi-super-tiled surfaces (for multiple pixel
pipes) a special texture format is used.
|
|
Some warnings are now treated as errors, bring the less-visited parts
of the source code up to date.
|
|
Displays number of events per second for all
hardware counters in the console. This can be useful to find out
what the GPU is doing.
Still todo: non interactive mode (log statistics to disk), relative
mode (display occupancy), command line parsing, ...
|
|
The gcreg.h from gcx contains quite some register documentation
for HI and DE (2D) state. Integrate this into our xml files
for easier reference and eventual hardware documentation generation.
This may help anyone working on a 2D driver.
|
|
This fixes the hang bug in glmark demo 'desktop'.
|
|
After Mesa rebase.
|
|
Add comment specifying which register is read for which hw counter.
|
|
Move clearing and blitting functionality to module `clear_blit`.
|
|
Warn when an instruction is generated that uses two different
uniforms.
|
|
There should be no semantic changes.
|
|
Add separate implementation files for blend, rasterizer, surface,
texture and zsa.
|
|
Don't use the blitter unnecessarily when simple copying
suffices.
|
|
May be faster in some cases and makes sure that copy_region is exercised as well.
|
|
Not doing this caused a synchronization issue in the blitter, in which
the destination texture was not properly rendered yet before using it.
|
|
A syntax error snuck in.
Also add beginnings of a gpu-inspect tool to inspect etna resource contents.
This is very primitive right now (used it to debug a blitter issue)
so don't add it to docs yet.
|
|
According to the gallium documentation when flat shading
is enabled, fragment shader inputs with
TGSI_SEMANTIC_COLOR should not be interpolated. However, all other
varyings must be.
This was not implemented correctly in our varyings conversion pass which
caused problems with the blitter. This behavior has been fixed
in this commit.
In the process I figured out the meaning of bit 0 of pa_attributes.
The meanings of the other bits are still unknown.
|
|
Nothing is guaranteed about uninitialized resource contents,
so don't waste CPU cycles on this.
|
|
This primitive had gone untested until now.
Just like the Gallium blitter use a TRIANGLE_FAN to render a quad.
Also cleans up the code of this demo as no longer an index buffer is
needed.
|
|
Projective texturing instruction, mostly generated by GLES1
compatibility shaders.
|
|
This path is not stable, so disable it:
- hangs: TS optimization seems to cause hangs with the blitter
(maybe because it never clears)
- corruption: we would need a resolve-to-self step before using the surface
as a texture because the cleared tiles will not be filled
|
|
|
|
Evict rawshader code and move it to grabbag-of-demos-stuff in `lib/`
as it is only used for the rawshader demos and for testing and thus
does not belong in the mesa driver.
|
|
|
|
This instruction is never generated by the GLSL path, but it
can be generated by the GLES1 fixed pipeline shaders.
|
|
Use our old friend memcpy() to make temporary copy of
command buffer memory in client process.
No longer needs cooporation from target, which means the hacky
_viv_read_u32 can be removed again.
An added advantage is that this is *much* faster.
|
|
Doesn't actually work yet, but this fixes the build.
|
|
This command traces and dumps all submitted command buffers, along with the
physcial address of each command. This should come in handy for
searching back the physical address that the rendering is stuck on
according to the kernel.
|
|
number of uniforms was checked against max number of registers: oops
Thanks to Ben Brewer for noticing.
|
|
|