summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-17glsl2: Add flags to enable variable index loweringglsl2-lower-variable-indexingIan Romanick5-8/+82
2010-09-17glsl2: Refactor testing for whether a deref is of a matrix or arrayIan Romanick1-11/+12
2010-09-17glsl2: Declare dereference_array_condition with the correct typeIan Romanick1-1/+1
Previous the type had one too many elements and did not match the type of the things being compared.
2010-09-17glsl2: Fix linear portion of index search for writesIan Romanick1-5/+15
If the array access is a read, read the first element of this subregion unconditionally. The remaining tests will possibly overwrite this value with one of the other array elements. This optimization cannot be done for writes because it will cause the first element of the subregion to be written possibly *in addition* to one of the other elements.
2010-09-17glsl2: Reformat to match coding conventions in the rest of the compilerIan Romanick1-62/+94
2010-09-17glsl2: Use correct talloc context in lower_variable_index_to_cond_assign passIan Romanick1-29/+35
2010-09-17glsl2: Don't return an exec_listIan Romanick1-31/+18
Returning an exec_list does a shallow copy. In the place returned to, the invariant (list->head->prev == (exec_node *)list) will fail. This is particularly bad if the list being returned is empty.
2010-09-17glsl: add pass to lower variable array indexing to conditional assignmentsLuca Barbieri5-0/+282
Currenly GLSL happily generates indirect addressing of any kind of arrays. Unfortunately DirectX 9 GPUs are not guaranteed to support any of them in general. This pass fixes that by lowering such constructs to a binary search on the values, followed at the end by vectorized generation of equality masks, and 4 conditional assignments for each mask generation. Note that this requires the ir_binop_equal change so that we can emit SEQ to generate the boolean masks. Unfortunately, ir_structure_splitting is too dumb to turn the resulting constant array references to individual variables, so this will need to be added too before this pass can actually be effective for temps. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-09-18r600g: oops got the use_mem_constant the wrong way around.Dave Airlie1-1/+1
this fixes evergreen gears again.
2010-09-17r600g: use calloc for ctx bo allocationsDave Airlie1-1/+1
since the reference code relies on these being NULL.
2010-09-17r600g: fixup map flushing.Dave Airlie1-5/+9
long lived maps were getting removed when they shouldn't this tries to avoid that problem by only adding to the flush list on unmap.
2010-09-17r600g: add upload manager support.Dave Airlie6-47/+223
this add support for the upload manager for uploading user vbo/index buffers. this provides a considerable speedup in q3 type games.
2010-09-17r600g: add winsys bo caching.Dave Airlie4-31/+24
this adds the bo caching layer and uses it for vertex/index/constant bos. ctx needs to take references on hw bos so the flushing works okay, also needs to flush the maps.
2010-09-17r600g: add support for kernel boDave Airlie10-50/+352
this moves to using a pb bufmgr instead of kernel bos directly.
2010-09-17r600g: use malloc bufmgr for constant buffersDave Airlie3-1/+9
2010-09-17r600g: move constant buffer creation behind winsys abstraction.Dave Airlie12-55/+65
this paves the way for moving to pb bufmgrs now.
2010-09-17libgl-xlib: Remove unused st_api_create_OpenGL.Chia-I Wu1-8/+0
st/egl no longer relies on libGL for OpenGL support.
2010-09-17targets/egl: Use C++ compiler to link GL/ES state trackers.Chia-I Wu1-3/+10
Otherwise, applications compiled with C compiler might have trouble using them.
2010-09-17dri/nv10: Fix the CLAMP texture wrap mode.Francisco Jerez1-2/+1
2010-09-16tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0Brian Paul1-6/+9
Basically, change the loop from: do {...} while (--num_inputs != 0) into: while (num_inputs != 0) { ... --num_inputs; } Fixes fd.o bug 29987.
2010-09-17r600g: attempt to abstract kernel bos from pipe driver.Dave Airlie19-199/+272
introduce an abstraction layer between kernel bos and the winsys BOs. this is to allow plugging in pb manager with minimal disruption to pipe driver.
2010-09-17r600g: hide radeon_ctx inside winsys.Dave Airlie8-56/+42
no need for this info to be exported to pipe driver.
2010-09-16gallivm: Remove unnecessary header.Vinson Lee1-1/+0
2010-09-16gallivm: fix wrong return value in bitwise functionsBrian Paul1-3/+3
2010-09-16gallivm: Clamp indirect register indices to file_max.José Fonseca1-60/+71
Prevents crashes with bogus data, or bad shader translation.
2010-09-16gallivm: Start collecting bitwise arithmetic helpers in a new module.José Fonseca8-32/+263
2010-09-16gallivm: Fix address register swizzle.José Fonseca1-2/+1
We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX
2010-09-16meta: Don't bind the created texture object in init_temp_texture().Francisco Jerez1-1/+0
This function is executed outside _mesa_meta_begin/end(), that means that e.g. _mesa_meta_Bitmap() clobbers the texturing state because it changes the currently active texture object. There's no need to bind the new texture when it's created, it's done again later anyway (from setup_drawpix/copypix_texture()). Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-16mesa: include mfeatures.h in formats.cBrian Paul1-0/+1
Otherwise, FEATURE_EXT_texture_sRGB was undefined. This is (part of?) the fix for fd.o bug 30177.
2010-09-16r300g/swtcl: fix CS overrunMarek Olšák2-8/+28
https://bugs.freedesktop.org/show_bug.cgi?id=29901
2010-09-16dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent().Francisco Jerez1-16/+8
2010-09-16dri/nouveau: Don't reemit the BO state in nouveau_state_emit().Francisco Jerez2-5/+3
2010-09-16dri/nouveau: Don't request a fake front unnecessarily.Francisco Jerez5-17/+32
2010-09-16dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format.Francisco Jerez1-0/+1
2010-09-16dri/nouveau: Add some more extensions.Francisco Jerez3-0/+4
2010-09-16dri/nouveau: Update nouveau_class.h.Francisco Jerez1-20/+20
2010-09-16dri/nv04: Fix provoking vertex.Francisco Jerez1-2/+2
2010-09-16dri/nv04: Fix maximum texture size.Francisco Jerez1-0/+1
2010-09-16dri/nv04: Fix up color mask.Francisco Jerez1-1/+5
2010-09-16dri/nv04: Align SIFM transfer dimensions.Francisco Jerez1-1/+1
2010-09-16dri/nv04: Mipmapping fixes.Francisco Jerez2-15/+21
2010-09-16dri/nv04: Fix PGRAPH_ERRORs when running OA.Francisco Jerez1-1/+5
2010-09-16dri/nv04: Enable eng3dm for A8/L8 textures.Andrew Randrianasulu1-4/+16
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-09-16dri/nv04: Don't expose ARB_texture_env_combine/dot3.Andrew Randrianasulu3-2/+4
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-09-16llvmpipe: add DEBUG_FS to dump variant informationKeith Whitwell3-1/+3
2010-09-16llvmpipe: add LP_PERF flag to disable various aspects of rasterizationKeith Whitwell8-6/+90
Allows disabling various operations (mainly texture-related, but will grow) to try & identify bottlenecks. Unlike LP_DEBUG, this is active even in release builds - which is necessary for performance investigation.
2010-09-16gallivm: make lp_build_sample_nop publicKeith Whitwell2-6/+8
2010-09-16gallivm: move i32_vec_type inside the #ifdefBrian Paul1-1/+2
2010-09-16gallivm: fix incorrect vector shuffle datatypeBrian Paul1-1/+5
The permutation vector must always be a vector of int32 values.
2010-09-16nv50: get shader fixups/relocations into working stateChristoph Bumiller4-54/+79