Age | Commit message (Collapse) | Author |
|
|
|
|
|
The default texture is used when a sampler uses an incomplete texture.
This change fixes the piglit fp-incomplete test.
|
|
|
|
|
|
Fixes progs/tests/tri-fbo-tex-mip.c
|
|
|
|
I should have gotten most uses and implementation
correctly fixed, but things might break.
Feel free to blame me.
|
|
|
|
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().
|
|
This trims down and cleans up imports.h and glheader.h quite a bit.
|
|
Conflicts:
src/mesa/state_tracker/st_cb_accum.c
src/mesa/state_tracker/st_cb_drawpixels.c
|
|
Fixes glReadPixels, gl(Copy)TexSubImage, glCopyPixels.
|
|
|
|
This is a temporary fix which works for the formats we care so far. The
real fix would be abandon the concept "nominal bytes per pixel" entirely
in Mesa, and use macropixels instead, as done in gallium interfaces
already.
|
|
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.
|
|
Conflicts:
progs/trivial/tri.c
|
|
Use aligned malloc/free for teximage data everywhere to be consistant.
The mismatch didn't make any difference when HAVE_POSIX_MEMALIGN was defined.
|
|
Conflicts:
src/gallium/auxiliary/gallivm/instructionssoa.cpp
src/gallium/auxiliary/gallivm/soabuiltins.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h
src/mesa/main/texenvprogram.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/prog_statevars.c
src/mesa/state_tracker/st_draw.c
src/mesa/vbo/vbo_exec_draw.c
|
|
|
|
|
|
If the driver buffers a scene flushing should release old textures and
make space for new ones. Fixes problem with texdown.c test.
|
|
|
|
Free old teximage/level data, then stop.
|
|
|
|
Also, rename p_tile.[ch] to u_tile.[ch]
|
|
|
|
|
|
needed
The default texture is used when the current fragment shader has texture
sample instructions but the user has not provided/bound a texture.
|
|
access
Was trying to use the strb->surface but it's made for GPU read/write only.
|
|
Use the TexFormat->StoreImage() routine for fallbacks. This handles the
case of copying RGBA framebuffer data into an RGBA texture when the base
format is GL_RGB (or GL_LUMINANCE, etc). In that case, we need to set
the texture's alpha=1 and override the framebuffer's alpha.
|
|
|
|
|
|
|
|
|
|
You don't need a pipe_context * for this, and all other necessary info is
already inside pipe_surface.
|
|
The chars-per-pixel concept falls apart with compressed and yuv images,
where more than one pixel are coded in a single data block.
|
|
|
|
The logic/arithmetic for inverting the src image is a bit simpler now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 reverts commit f7dbd18371f9cb6686b6a97642b3ca5577e83472.
Looks like an accidental revert of commit
650c57f19398800dfdcf357b6e9ec7b68bfa34f1.
|
|
|
|
Create different temporary surfaces for CPU_READ/WRITE when needed (such as
for glReadPixels, glAccum, some glCopy/DrawPixels, glCopyTexSubImage, etc).
|