the new relocation for CB_COLOR0_FRAG & CB_COLOR0_TILE add 4
dwords to the default command stream. Increase the prediction
default size to take this into account
FRAG & TILE buffer are unused but still they need
to be associated with a valid relocation so that
userspace can't try to abuse them to overwritte
GART and then try to write anywhere in system
memory.
rtype enums are different, DST_REG_OUTPUT got SRC_REG_CONSTANT in some
shaders and produced invalid output/hang
as TEX output is temp register always set out src to SRC_REG_TEMPORARY
4 samples should be enough for GLUT to be satisfied, and I think most
of the HW that does any MSAA, can do it.
Note that any pipe that doesn't multisample can just ignore the
corresponding flag in pipe_rasterizer_state.
It uses a slow path to copy the render buffer of the surface to the
target pixmap. We might be able to create a pipe context for
EGLDisplay's use and use a blitter context for the purpose. It is left
for a future consideration.
A validate call asks for the buffers of a native surface. Using a mask
to represent the interested buffers is more intuitive. It also rules
out corner cases such as a single attachment being listed multiple
times.
egl_g3d calls st_set_framebuffer_surface on window resize. It updates
the renderbuffer's geometry and makes st_resize_framebuffer a no-op.
This commit improves the no-op check a little bit. It can do better
after gallium-fb-dimensions is merged.
Users of softpipe can still specify thier own winsys
but now there is a default one also that uses malloc.
This allows the malloc winsys to be shared with other
users of softpipe.
Vertex data in geometry programs is located in p[] space.
The base address in p[] for vertex i is located in vertex
attribute space, i.e. a[i << 2].
This means p[] is always accessed with an address register,
and I had to to mess with their allocation once again.
Also fixes negative offsets e.g. CONST[ADDR[0].x - 3].
- fill in more src/dst formats
- disable depth copies for now
- set proper data formats in render target regs
- fill in additional default state
The swizzles on some of the less used mesa formats
are probably wrong.