Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The kernel drivers in kernel_drivers can be run through these to make
them more readable.
|
|
Don't add pointsize output to vertex shader if that shader doesn't
assign the point size. Even if point_size_per_vertex is enabled in
rasterizer configuration. This is done because Mesa *always* sets
point_size_per_vertex to enabled with OpenGL ES, no matter what
the shader does or whether points or other primitives are rendered.
|
|
And some documentation changes.
|
|
I'm not sure this is defined by the GL spec, but makes it behave
more like other GL drivers and fixes missile cam in d2x.
|
|
There was an error when using gpu-trace on 64 bit host systems
|
|
For now, use ETNA_DEBUG="msaa4x" or ETNA_DEBUG="msaa2x" to force usage
of MSAA for screen surface (MESA may have its own way for this...).
|
|
Makes state dumps somewhat more readable.
|
|
|
|
Try to find glquake lightmap bug...
|
|
|
|
Correct texture and RS alignment.
For multi-tiled and multi-super-tiled surfaces (for multiple pixel
pipes) a special texture format is used.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
|
|
New instruction works, but found an restriction in the ISA:
- it is not allowed to use multiple uniforms in one instruction.
If this is done the result is undefined, so need to work around this
by using a temporary.
|
|
|
|
GDB plugin for etnaviv driver debugging. This needs gdb 7.5+ to work.
usage (from gdb):
source /path/to/etnaviv_gdb.py
Commands:
gpu-state (prefix|uniforms)
Show full GPU state (default) or only registers with a certain prefix.
The special prefix 'uniforms' shows only the shader uniforms.
gpu-dis
Disassemble the current shaders.
|
|
|
|
|
|
Also do a few comment clarifications.
|
|
On GC2000 there is a register GL_API_MODE that sets the global API mode
for the context. I do not know what it does, but if another application
left it at OPENVG/OPENCL that could have unpredictable consequences.
Set it to OPENGL at context creation.
|
|
First step towards support for multiple concurrent rendering programs
with v2 driver (v4 driver requires different approach with state deltas,
but that can be done in a similar way later).
|
|
Keep a context. Write only state that changed actually changed
to command buffer.
|
|
|
|
Further integrate tgsi->shader compiler. Next up is a testcase/demo
that actually uses this new functionality.
|
|
- split off x11 based esXXX functions into esWindow, to not cause
compilation issues in fb demos on non-X11 Linux hw
- add some documentation and comments here and there
- define M_PI if needed (I've always believed this to be part of the
C standard, it's not!)
- figure out some OpenCL instructions, and the extra opcode bit on
GC2000 (support it in asm.py / disasm.py)
|
|
|
|
|
|
|
|
|
|
- get pointcoord x/y to work
- point size output
|
|
viv_info: support multiple cores
add info to gpus.json and gpus_comparison
|
|
split off non-etna_pipe demos that still need to be ported to fb_old
directory, as demos using raw state manipulation are not as portable to different
devices and should not be used as example for new tests
|
|
also implement gl_rasterization_rules switching
|
|
|
|
In a bizarre twist of fate, alpha blending now works. Interpretation of
bit 16 of PE_COLOR_FORMAT was the wrong way around.
|
|
|
|
- state.xml : main file
- state_2d.xml.h : 2d state
- state_3d.xml.h : 3d state
- state_hi.xml.h : host interface state (registers)
- common.xml : shared bits between state.xml, cmdstream.xml and isa.xml
also beginnings of automatic state management, currently for RS only
|
|
try to support old as well as new Vivante kernel drivers
|
|
|
|
|
|
Also figure out some other resolve state.
Add a tool (genmipmaps_etc1.py) to generate a dds file with ETC1 texture
compression and auto-generate mipmaps (GIMP dds plugin cannot do ETC1).
|
|
|
|
|
|
- envytools: add more convenient VIVS_FE_VERTEX_ELEMENT_CONFIG_START(0xc) syntax
iso having to write (0xc << VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT)
- figure out rs/depth tiling bits, PS bypass, write depth only
|