summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* mesa/st: protect internal flushes with FLUSH_CURRENTKeith Whitwell2009-04-281-1/+1
| | | | Already doing this for driver.flush()
* mesa/st: remove duplicate offset calculationKeith Whitwell2009-04-282-18/+1
|
* mesa/st: translate VERT_ATTRIB_GENERIC8..15 in st_translate_vertex_programKeith Whitwell2009-04-281-0/+8
| | | | It seems quake4 can hit these attributes sometimes.
* mesa/st: workaround for crashes in st_copy_texsubimageKeith Whitwell2009-04-281-0/+10
| | | | Proper fix for this hasn't been identified, but avoid crashing.
* st: Add an st_get_current() function.Thomas Hellstrom2009-04-282-0/+8
| | | | Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* mesa/st: fix incorrect face, level in compress_with_blitKeith Whitwell2009-04-271-2/+1
| | | | | | | We were incorrectly applying the destination texture face and level when requesting a transfer to the temporary texture, which has only one face and level. This would obviously cause problems uploading to compressed cube and mipmap textures.
* st: comments, license, copyrightBrian Paul2009-04-221-0/+32
|
* st: also check _NEW_PROGRAM flag for vertex shader constant buffersBrian Paul2009-04-221-1/+1
| | | | | | This is a follow-on to commit c1a3b852807fb160f0cd246c1364b7336b4b947e. Note that (at this time) wherever _NEW_PROGRAM_CONSTANTS is set we're still setting _NEW_PROGRAM so this won't really make any difference (for now).
* gallium: Reinstate unconditional flushes.Thomas Hellstrom2009-04-222-0/+4
| | | | | | Lost in commit e50dd26ca6d0eb0d0f97c2780020ea16e3d4a687. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* st: play it safe for now and check _NEW_PROGRAM for shader const buffer atomBrian Paul2009-04-211-1/+1
| | | | | When a new program is bound but no constants are updated we still need to update the Gallium const buffer.
* st: use the static atoms[] array directlyBrian Paul2009-04-212-20/+8
| | | | We can simplify this now that we no longer have any dynamic atoms.
* st: do away with dynamic state atom for const buffersBrian Paul2009-04-212-29/+4
| | | | Just use the new _NEW_PROGRAM_CONSTANTS flag instead.
* st: report GL_OUT_OF_MEMORY instead of assertingBrian Paul2009-04-211-4/+4
|
* mesa: Handle failure to create a transfer.José Fonseca2009-04-201-1/+2
|
* st: assert on pipe_buffer_create failureKeith Whitwell2009-04-201-0/+5
| | | | | | This needs a proper fix to propogate the out-of-memory condition back up to Mesa and the app as a GL error. Until then, at least catch the problem at its source.
* gallium: Fix glDraw/CopyPixels fragment program leak.Michel Dänzer2009-04-201-0/+2
|
* st: Wait to create bitmap transfer until neededJakob Bornecrantz2009-04-191-8/+30
|
* gallium: Create OGL state tracker wrappers for various CPU access operations.Thomas Hellstrom2009-04-1713-173/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are two usage types of buffer CPU accesses: One where we try to use the buffer contents for multiple draw commands in a batch. (batch := sequence of commands that are flushed together), like incrementally adding bitmaps to a bitmap texture that is reallocated on flush. And one where we assume we can safely overwrite the old buffer contexts, like glTexSubImage. In this case we need to make sure all old drawing commands referencing the buffer are flushed before we map the buffer. This is easily forgotten. Add wrappers for the most common of these operations. The first type is prefixed with "st_no_flush" and the second type is prefixed with "st_cond_flush", where "cond" indicates that we attmpt to only flush if there is indeed unflushed draw commands referencing the buffer. Prefixed functions are screen::get_tex_transfer pipe_buffer_write pipe_buffer_read pipe_buffer_map Please use the wrappers whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* Merge branch 'register-negate'Brian Paul2009-04-162-13/+9
|\
| * mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul2009-04-142-13/+9
| | | | | | | | | | | | There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
* | Merge branch 'gallium-s3tc'José Fonseca2009-04-163-6/+284
|\ \
| * | st: remove XXX commentBrian Paul2009-04-151-1/+0
| | |
| * | st: check for fast memcpy path in decompress_with_blit()Brian Paul2009-04-151-13/+33
| | |
| * | st: st_equal_formats() function to compare gallium/GL pixel formatsBrian Paul2009-04-152-0/+24
| | |
| * | st: decompress_with_blit() path for glGetTexImage().Brian Paul2009-04-151-2/+81
| | | | | | | | | | | | Decompress a texture by rendering a textured quad.
| * | st: If the hw supports it do hw conversion of texture uploadsJakob Bornecrantz2009-04-091-4/+160
| | |
* | | gallium: Make sure we flush before some texture / buffer operations.Thomas Hellstrom2009-04-158-11/+112
| | | | | | | | | | | | | | | | | | | | | Also implement context member functions to optimize away those flushes whenever possible. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
* | | mesa: TGSI translation of multiple render targets.José Fonseca2009-04-151-3/+3
| |/ |/|
* | mesa: Fix gcc assembly enable logic.José Fonseca2009-04-141-1/+1
|/ | | | The i386 symbol is defined on WINDDK.
* gallium: remove pipe_texture::compressed fieldBrian Paul2009-04-101-1/+0
| | | | | The format field encodes compressed vs. uncompressed already. We can easily check if a texture is compressed with pf_is_compressed(texture->format).
* st: remove another unneeded 'is compressed' comparisonBrian Paul2009-04-091-2/+3
|
* st: remove unneeded "is compressed" checkBrian Paul2009-04-091-2/+1
| | | | The format indicates compressed vs. uncompressed.
* st: rearrange some code to be a little more clearBrian Paul2009-04-091-9/+7
|
* gallium: remove unneeded compressed=0 assignmentBrian Paul2009-04-091-1/+0
|
* st: remove comp_byte parameter to st_texture_create()Brian Paul2009-04-096-20/+9
| | | | We can determine if the texture is compressed by checking the format.
* st: consolidate format->usage computationBrian Paul2009-04-091-9/+23
|
* st: add const qualifiers, use GL typesBrian Paul2009-04-091-13/+10
|
* st: make loops over 3D texture slices a litte more intuitiveBrian Paul2009-04-091-10/+16
|
* st: reformatting and clean-ups in texture codeBrian Paul2009-04-091-95/+67
|
* gallium: when using gl_PointCoord ensure we use the correct attribute.Alan Hourihane2009-04-081-3/+5
|
* st: implement glCopyTexImage() for GL_DEPTH24_STENCIL8 internal formatBrian Paul2009-04-071-2/+4
|
* st: implement GL_DEPTH_STENCIL format for glReadPixels and DrawPixels()Brian Paul2009-04-073-43/+96
|
* st: as with swrast, interpret texture border color according to texture formatBrian Paul2009-04-061-4/+37
| | | | | Depending on the hardware driver this might not be needed, but it will cause no harm.
* st: rename a helper functionBrian Paul2009-04-061-4/+4
|
* mesa: Fix orientation adjustment for reading stencil pixels.José Fonseca2009-04-061-1/+1
| | | | Fixes conform spcorner.c & spclear.c failure.
* gallium: Clean up driver clear() interface.Michel Dänzer2009-04-041-119/+64
| | | | | Only allows clearing currently bound buffers, but colour and depth/stencil in a single call.
* gallium: Add utility helper for packing combined depth/stencil values.Michel Dänzer2009-04-041-13/+3
|
* mesa: move glGetTexImage(), glGetCompresssedTexImage() code into new fileBrian Paul2009-04-031-0/+1
|
* mesa: remove the noClamp parameter to _mesa_pack_rgba_span_float()Brian Paul2009-04-031-1/+1
| | | | | It was only set to GL_TRUE in one place where it isn't really needed (glGetTexImage(sRGB format)).
* mesa: ensure pbo stencil buffers are mapped before useAlan Hourihane2009-04-031-0/+5
|