summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-23driver: move blitter creation/destruction to etna_clear_blitWladimir J. van der Laan
2013-08-22driver: fix texture barrierWladimir J. van der Laan
2013-08-21doc: add warnings about FLUSH_TEXTUREVSWladimir J. van der Laan
2013-08-21driver: fix texture crash in quakeWladimir J. van der Laan
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.
2013-08-20documentation updatesWladimir J. van der Laan
2013-08-20driver: add support for (S|U)SCALED vertex formatsWladimir J. van der Laan
These are the same as _INT for our purposes.
2013-08-20etnaviv: silence compiler warning with v2Wladimir J. van der Laan
2013-08-15driver/etnaviv: some minor code cleanupsWladimir J. van der Laan
2013-08-15etnaviv: context supportWladimir J. van der Laan
Rendering can now be done from multiple threads or processes at once.
2013-08-15documentation updateWladimir J. van der Laan
2013-08-15etnaviv: query and report kernel versionWladimir J. van der Laan
Only possible for v4+ kernel drivers. Older drivers are always reported as 2.0.0.0 for now.
2013-08-14etnaviv: solve compiler warnings on imx6 BSP 4.0Wladimir J. van der Laan
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.
2013-08-14test2d: some minor improvementsWladimir J. van der Laan
2013-08-14etnaviv: make 2d samples work on imx6Wladimir J. van der Laan
Fill in hardwareType in command structures submitted to kernel.
2013-08-14test2d: bitblt with 90 degree rotateWladimir J. van der Laan
2013-08-13test2d: bitblt2d alpha testWladimir J. van der Laan
Do some experimentation with alpha blending modes.
2013-08-13rnndb: add base context states for vgWladimir J. van der Laan
Add xml file with basic context registers; no register meanings figured out yet.
2013-08-13test2d: add test for planar videoWladimir J. van der Laan
Deplanarize and scale a frame from Big Buck Bunny using the video rasterizer.
2013-08-13test2d: add a few 2D engine testsWladimir J. van der Laan
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.
2013-08-09driver: proper flushing of TSWladimir J. van der Laan
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.
2013-08-09driver: PA_LINE_WIDTH contains the half widthWladimir J. van der Laan
Divide the line width by two to correct line rendering. Also update documentation.
2013-08-09driver: texture alignment, preparation for multi-pipeWladimir J. van der Laan
Correct texture and RS alignment. For multi-tiled and multi-super-tiled surfaces (for multiple pixel pipes) a special texture format is used.
2013-08-08build fixWladimir J. van der Laan
Some warnings are now treated as errors, bring the less-visited parts of the source code up to date.
2013-08-07fb: implement viv_gpu_topWladimir J. van der Laan
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, ...
2013-08-07rnndb: update HI and DE state doc from gcx documentationWladimir J. van der Laan
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.
2013-08-05driver: correctly clear non-ts surfacesWladimir J. van der Laan
This fixes the hang bug in glmark demo 'desktop'.
2013-08-05driver: update gallium to 0794f63Wladimir J. van der Laan
After Mesa rebase.
2013-08-04etnaviv: document hardware countersWladimir J. van der Laan
Add comment specifying which register is read for which hw counter.
2013-08-04driver: further split up etna_pipe.cWladimir J. van der Laan
Move clearing and blitting functionality to module `clear_blit`.
2013-08-04driver: check generated instructionsWladimir J. van der Laan
Warn when an instruction is generated that uses two different uniforms.
2013-08-04driver: clean up CSO functionsWladimir J. van der Laan
There should be no semantic changes.
2013-08-04driver: split up etna_pipeWladimir J. van der Laan
Add separate implementation files for blend, rasterizer, surface, texture and zsa.
2013-08-04driver: disable PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFERWladimir J. van der Laan
Don't use the blitter unnecessarily when simple copying suffices.
2013-08-04driver: try blit via copy regionWladimir J. van der Laan
May be faster in some cases and makes sure that copy_region is exercised as well.
2013-08-04driver: flush color and depth cache before clearing anything using RSWladimir J. van der Laan
Not doing this caused a synchronization issue in the blitter, in which the destination texture was not properly rendered yet before using it.
2013-08-04tools: fix etnaviv_gdb module loadWladimir J. van der Laan
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.
2013-08-04driver: improve varyings and flat shading handlingWladimir J. van der Laan
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.
2013-08-03driver: don't zero-initialize resourcesWladimir J. van der Laan
Nothing is guaranteed about uninitialized resource contents, so don't waste CPU cycles on this.
2013-08-03ps_sandbox: use TRIANGLE_FANWladimir J. van der Laan
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.
2013-08-03driver: implement TEXPWladimir J. van der Laan
Projective texturing instruction, mostly generated by GLES1 compatibility shaders.
2013-08-03driver: don't make TS for render targetsWladimir J. van der Laan
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
2013-08-03tools: add output to file option to gdb gpu-traceWladimir J. van der Laan
2013-08-02driver: split off rawshaderWladimir J. van der Laan
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.
2013-08-02trivial comment + demo updatesWladimir J. van der Laan
2013-08-01driver: implement LITP instructionWladimir J. van der Laan
This instruction is never generated by the GLSL path, but it can be generated by the GLES1 fixed pipeline shaders.
2013-08-01tools: improve gpu-traceWladimir J. van der Laan
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.
2013-08-01fb: add missing viv_gpu_top.cWladimir J. van der Laan
Doesn't actually work yet, but this fixes the build.
2013-07-31tools: add gpu-trace gdb commandWladimir J. van der Laan
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.
2013-07-31driver: correct etna_compile_check_limitsWladimir J. van der Laan
number of uniforms was checked against max number of registers: oops Thanks to Ben Brewer for noticing.
2013-07-31comment updatesWladimir J. van der Laan