Age | Commit message (Collapse) | Author |
|
|
|
Uf. Lots of files touched. Would people with working vega, xorg, dri1, etc.
please make sure you are not broken, and fix yourself up if you are.
There were only two or three places where the code did not have painful
fallbacks, so I would advise st maintainers to find less painful workarounds,
or consider overhauling util_surface_copy and util_surface_fill.
Per ymanton, darktama, and Dr_Jakob's suggestions, clear has been left as-is.
I will not add PIPE_CAP_BLITTER unless it is deemed necessary.
|
|
Conflicts:
src/mesa/main/dlist.c
src/mesa/vbo/vbo_save_api.c
|
|
|
|
Conflicts:
Makefile
src/mesa/main/version.h
|
|
|
|
Indicates whether there's defined image contents, or garbage/don't care.
This is set when we draw into a renderbuffer and cleared when we resize/
reallocate a renderbuffer or do a buffer swap (back buffer becomes undefined).
We use this to determine whether the front color buffer has been drawn to,
and whether to display its contents upon glFlush/Finish(), when the new
st_swapbuffers() function is used.
|
|
|
|
I should have gotten most uses and implementation
correctly fixed, but things might break.
Feel free to blame me.
|
|
|
|
to return TRUE/FALSE if the st_framebuffer is valid, and if it is
return the surface/texture in the passed pointer.
|
|
Fixes front-buffer rendering when following a SwapBuffers.
See progs/tests/rubberband.c
|
|
Conflicts:
src/gallium/auxiliary/rtasm/rtasm_execmem.c
src/mesa/shader/slang/slang_emit.c
src/mesa/shader/slang/slang_log.c
src/mesa/state_tracker/st_atom_framebuffer.c
|
|
Fixes some segfaults in low memory situations.
|
|
adjust it and make it behave like it used to
|
|
don't dirty the fb if we're rebining the frontbuffer
|
|
|
|
|
|
|
|
|
|
Before, we were sometimes rendering into a stale texture because
st_finalize_texture() would discard the old texture and create a new one.
Moved st_update_framebuffer atom after texture validation so that we
can create a new renderbuffer surface if the texture changes.
Also, split texture validation into two parts: finalize_textures and
update_textures. Do finalize_textures first to avoid getting into the
situtation where we're doing a pipe->surface_copy() mid-way through
state validation.
Some debug code still in place, but disabled...
|
|
|
|
|
|
This fixes the case where the app calls SwapBuffers then calls glReadPixels
to read the front color buffer. We now keep track of when the front buffer
is a _logically_ copy of the back buffer (after SwapBuffers) and read from
the back color buffer instead of the front.
|
|
|
|
elsewhere
|
|
(blit, gen-mipmaps, quad-clear, etc)
Also, additional cso_set_*() functions for viewport, framebuffer, blend color,
etc. state.
|
|
now.
|
|
Previously, we set _NEW_PIXEL and _NEW_COLOR in these functions, respectively.
That correponds to the GL attribute groups, but doesn't make much sense
otherwise. This could improve validation efficiency in a few places too.
It looks like all the drivers are already checking for _NEW_BUFFERS in the
right places (since that's the bit for FBO state) so we can trim out
_NEW_PIXEL and _NEW_COLOR at any time.
|
|
|
|
|
|
The memcmp is insufficient for eliminating redundant framebuffer state changes.
|
|
|
|
Remove surface ptr from gl_renderbuffer.
Use st_renderbuffer in most places.
More clean-up.
|
|
|
|
|
|
Z testing now works with i915 driver.
Add gl_renderbuffer::surface pointer (and reverse pointer).
Remove intel_surface and xmesa_surface types - no longer used.
|
|
|
|
|
|
We should be able to render to any depth/format of X window now.
|
|
|