Age | Commit message (Collapse) | Author |
|
Not used by softpipe anyway.
|
|
Also implement context member functions to optimize away those
flushes whenever possible.
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
|
|
|
|
|
|
Only allows clearing currently bound buffers, but colour and depth/stencil in
a single call.
|
|
|
|
And print/warn NaN/Inf in print_vertex().
|
|
|
|
|
|
|
|
|
|
This was used to indicate OpenGL's lower-left origin for fragment window
coordinates for polygon stipple and gl_FragCoord.
Now:
- fragment coordinate origin is always upper-left corner
- GL polygon stipple is inverted and shifted before given to gallium
- GL fragment programs that use INPUT[WPOS] are modified to use an
inverted window coord which is placed in a temp register.
Note: the origin_lower_left field still exists in pipe_rasterizer_state.
Remove it when all the drivers, etc. no longer reference it.
|
|
Need to null-out pointers after freeing transfer objects.
Fix mix-ups between tc->transfer and tc->tex_trans fields.
|
|
This fixes a number of crashes/regressions in programs such as lodbias.c,
mipmap_limits.c, etc.
|
|
|
|
Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
|
|
Any driver who needs a copy of the shader tokens must organize to
do so itself. This has been the case for a long time, but there
was still defensive code in the state tracker, which is now removed.
Any bugs resulting from this need to be fixed in the offending driver...
|
|
I should have gotten most uses and implementation
correctly fixed, but things might break.
Feel free to blame me.
|
|
This reverts commit 6db24f449de9cc81e1f7bb2dde55a9819463d5e5.
With a null ptr check in align_free() this is no longer needed.
|
|
Fixes GALLIUM_NOCELL path. See bug 20475.
|
|
|
|
The core reference counting code is centralized in p_refcnt.h.
This has some consequences related to struct pipe_buffer:
* The screen member of struct pipe_buffer must be initialized, or
pipe_buffer_reference() will crash trying to destroy a buffer with reference
count 0. u_simple_screen takes care of this, but I may have missed some of
the drivers not using it.
* Except for rare exceptions deep in winsys code, buffers must always be
allocated via pipe_buffer_create() or via screen->*buffer_create() rather
than via winsys->*buffer_create().
|
|
|
|
|
|
|
|
The template makefile that most libraries in
gallium included was based on dri and had a bunch
unrelevant junk in it.
Update it and improve the depending makefiles.
|
|
Conflicts:
src/gallium/drivers/softpipe/sp_tile_cache.c
|
|
Conflicts:
src/mesa/state_tracker/st_cb_accum.c
src/mesa/state_tracker/st_cb_drawpixels.c
|
|
|
|
Use a somewhat better function in tex_cache_pos() to get better caching.
Increase number of cache entries to 50.
Also fix a texture invalidation bug. If texture is marked as modified,
invalidate all texture tiles.
|
|
|
|
A lot more test programs work.
|
|
glxgears works.
|
|
Missed these for the initial gallium-texture-transfer commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This header describes the quad-related datatypes afterall.
|
|
|
|
Be more consistant with 'draw' module.
|
|
Fixes segfault regression in progs/glsl/identity.c
|
|
|
|
Instead, a new pipe_transfer object has to be created and mapped for
transferring data between the CPU and a texture. This gives the driver more
flexibility for textures in address spaces that aren't CPU accessible.
This is a first pass; softpipe/xlib builds and runs glxgears, but it only shows
a black window. Looks like something's off related to the Z buffer, so the
depth test always fails.
|
|
this change disassociates, at least from the driver perspective,
the surface from buffer. surfaces are technically now views on the
textures so make it so by hiding the buffer in the internals of
textures.
|
|
|
|
move it to pipe/internal/p_winsys_screen.h and start converting
the state trackers to the screen usage
|
|
allows the driver to overwrite buffer allocation, first step on the way
to making winsys interface internal to the drivers. state trackers and
the code above it will go through the screen
|