summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "translate_generic: return NULL instead of assert(0) if format not ↵Luca Barbieri2010-08-111-6/+9
| | | | | | | | | | | supported" This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131. José Fonseca asked for a revert. Note that the testsuite will now segfault since it attempts to test all possible formats.
* translate_generic: fix broken A8R8G8B8_UNORM outputLuca Barbieri2010-08-111-3/+9
| | | | | | | translate was attempting to output A8R8G8B8_UNORM as if it were R8G8B8A8_UNORM. Now the tests just added pass.
* translate: add testsuiteLuca Barbieri2010-08-112-1/+172
| | | | | Currently only checks all possible format conversions, and doesn't attempt to test whether multiple buffers/elements or indices work.
* translate_generic: return NULL instead of assert(0) if format not supportedLuca Barbieri2010-08-111-9/+6
| | | | This gives the caller a chance to recover (or crash anyway otherwise).
* auxiliary: fix util_framebuffer_copyLuca Barbieri2010-08-111-2/+4
| | | | | | | | | util_framebuffer_copy was attempting to copy all elements of the source framebuffer state. However, this breaks if the user does not zero initialize the structure. Instead, only copy the elements up to nr_cbufs, and clear elements up to dst->nr_cbufs, if the destination was larger than the source.
* gallivm: Use lp_build_div instead of lp_build_mul + lp_build_rcp.José Fonseca2010-08-111-2/+1
| | | | | | | Single divide, so let lp_build_div decide how to implement this. This will save a multiplication in architectures which don't have a RCP intrinsic.
* gallivm: Use unsigned shift in lp_build_minify.José Fonseca2010-08-111-1/+1
| | | | Texture dimensions are unsigned.
* llvmpipe: Debug code to dump interpolation coefficients.José Fonseca2010-08-111-1/+29
|
* llvmpipe: Use single precision divide for one over area computation.José Fonseca2010-08-111-1/+1
|
* util: copy the u_staging commit message to the codeMarek Olšák2010-08-111-1/+9
|
* auxiliary: support for transfers using staging resourcesLuca Barbieri2010-08-113-0/+123
| | | | | | | | | | | Direct3D 10/11 has no concept of transfers. Applications instead create resources with a STAGING or DYNAMIC usage, copy between them and the real resource and use Map to map the STAGING/DYNAMIC resource. This util module allows to implement Gallium drivers as a Direct3D driver would be implemented: transfers allocate a resource with PIPE_USAGE_STAGING, and copy the data between it and the real resource with resource_copy_region.
* gallium: add ALWAYS_INLINELuca Barbieri2010-08-111-0/+10
| | | | | Used when we want to be sure the compiler inlines a large function into an inner loop.
* u_surfaces: add util_surfaces_peekLuca Barbieri2010-08-111-0/+13
| | | | Used to find out if a surface exists without creating one.
* u_surfaces: use cso_hash instead of util_hash_tableLuca Barbieri2010-08-112-53/+31
| | | | | Using cso_hash directly is the right thing since util_hash_table adds useless overhead and is harder to use for this application.
* u_surfaces: fix surface leak due to off by oneLuca Barbieri2010-08-111-1/+1
|
* auxiliary: make primitive splitter assert on unimplemented adjacency primsLuca Barbieri2010-08-111-1/+4
| | | | | They are unimplemented, even though the framework makes it possible to implement them well, and nv50 needs them.
* auxiliary: fix u_split_prim naming conventionLuca Barbieri2010-08-113-9/+9
| | | | Current practice is to start identifiers with "util_" instead of "u_".
* auxiliary: move Ben Skeggs' primitive splitter to common codeLuca Barbieri2010-08-114-102/+104
| | | | | | | | | | | | | | | | | | | | | This is a simple framework that handles splitting primitives in an abstract way. The user has to specify the primitive start, start index and count. Then, it can ask the primitive splitter to "draw" a chunk of the primitive, staying under a given vertex/index budget. The primitive splitter will then call user-supplied functions to emit a range of vertices/indices, as well as switch the edgeflag on or off. This is particularly useful for hardware that either has limits on the vertex count field, or where vertices are pushed on a FIFO or temporary buffer of limited size. Note that unlike other splitters, it does not manipulate data in any way, and merely asks a callback to do so, in vertex intervals.
* mesa: Include missing header in prog_noise.h.Vinson Lee2010-08-111-0/+2
| | | | Include glheader.h for GLfloat symbol.
* mesa: Clean up header file inclusion in prog_instruction.h.Vinson Lee2010-08-111-1/+1
| | | | | Remove mfeatures.h. Include glheader.h for GL symbols.
* mesa: Include missing header in prog_execute.h.Vinson Lee2010-08-111-0/+1
| | | | Include mtypes.h for GLcontext symbol.
* mesa: Include missing header in prog_cache.h.Vinson Lee2010-08-111-0/+3
| | | | Include mtypes.h for GLcontext symbol.
* mesa: Include missing header in nvvertparse.h.Vinson Lee2010-08-111-0/+1
| | | | Include mtypes.h for GLcontext symbol.
* mesa: Include missing header in nvfragparse.h.Vinson Lee2010-08-111-0/+1
| | | | Include mtypes.h for GLcontext symbol.
* mesa: Remove unnecessary header from hash_table.h.Vinson Lee2010-08-111-2/+0
|
* swrast: fix span color array pointer assignment for 32-bit/channel rendering[email protected]2010-08-101-0/+17
| | | | | | | | See fd.o bug 29487. NOTE: This is a candidate for the 7.8 branch. Signed-off-by: Brian Paul <[email protected]>
* r300g: initialize VAP_VTX_STATE_CNTLMarek Olšák2010-08-111-0/+5
| | | | This got lost during the rasterizer rewrite.
* r300g: implement gl_FrontFacingMarek Olšák2010-08-115-7/+97
|
* swrast: Remove unnecessary header.Vinson Lee2010-08-101-1/+0
|
* svga: Remove unnecessary headers.Vinson Lee2010-08-101-2/+0
|
* r300g: Remove unnecessary header.Vinson Lee2010-08-101-1/+0
|
* glut: also check for GLX_ARB_multisampleNigel Stewart2010-08-102-8/+11
| | | | Signed-off-by: Brian Paul <[email protected]>
* mesa: use switch stmt in init_program_limits()Brian Paul2010-08-101-5/+10
|
* mesa: remove obsolete commentsBrian Paul2010-08-101-9/+9
|
* r300/compiler: Use predicate bit for IF statements in r500 vertex shadersTom Stellard2010-08-103-3/+153
|
* r300/compiler: Implement hardware assisted loops for vertex shaders.Tom Stellard2010-08-1011-21/+210
| | | | Single loops work, but nested loops do not.
* r300/compiler: Correctly transform nested loops.Tom Stellard2010-08-101-16/+9
|
* r600g: avoid reemiting literal, avoid scheduling empty csJerome Glisse2010-08-106-32/+40
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* util: Add util_format_srgb().José Fonseca2010-08-101-0/+38
| | | | To convert RGB -> SRGB format.
* gallivm: fix non-SSE4.1 case in lp_build_pack2()Brian Paul2010-08-101-5/+9
| | | | | | | Since there's no SSE instruction for this case, fall through to the generic shuffle code. Fixes bug fd.o 29468.
* mesa: additional program limit assertionsBrian Paul2010-08-101-1/+9
|
* mesa: fix comment typoBrian Paul2010-08-101-1/+1
|
* gallivm: Fix bitwise operations for floats, division for integersnobled2010-08-102-5/+27
| | | | | | http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <[email protected]>
* gallivm: Even more type checkingnobled2010-08-102-1/+26
| | | | | | http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Always use floating-point operators for floating-point typesnobled2010-08-101-9/+8
| | | | | | | | See: http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <[email protected]>
* radeon: Use MESA_FORMAT_SARGB8 for sRGB formatsHenri Verbeet2010-08-096-19/+19
| | | | | | This can be supported on r600 without using the endian swapper, and is a better fit for (typical) uploads using GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV anyway.
* r600c: Disable alpha test during blitsHenri Verbeet2010-08-091-3/+4
|
* gallivm: More type checks.José Fonseca2010-08-091-0/+43
|
* gallivm: Don't call LLVMBuildFNeg on llvm-2.6.José Fonseca2010-08-092-9/+4
| | | | It didn't exist yet.
* gallivm: Always use floating-point operators for floating-point typesnobled2010-08-097-92/+137
| | | | | | | | | | | | | | | | | This fixes the assert added in LLVM 2.8: assert(getType()->isIntOrIntVectorTy() && "Tried to create an integer operation on a non-integer type!") But it also fixes some subtle bugs, since we should've been doing this since LLVM 2.6 anyway. Includes a modified patch from [email protected] for the FNeg instructions in emit_fetch(); thanks for pointing those out. http://bugs.freedesktop.org/29404 http://bugs.freedesktop.org/29407 Signed-off-by: José Fonseca <[email protected]>