Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | glsl2: Refactor testing for whether a deref is of a matrix or array | Ian Romanick | 2010-09-17 | 1 | -11/+12 |
| | |||||
* | glsl: add pass to lower variable array indexing to conditional assignments | Luca Barbieri | 2010-09-17 | 5 | -0/+317 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. Several patches in the glsl2-lower-variable-indexing were squashed into this commit. These patches fix bugs in Luca's original implementation, and the individual patches can be seen in that branch. This was done to aid bisecting in the future. Signed-off-by: Ian Romanick <[email protected]> | ||||
* | r600g: oops got the use_mem_constant the wrong way around. | Dave Airlie | 2010-09-18 | 1 | -1/+1 |
| | | | | this fixes evergreen gears again. | ||||
* | r600g: use calloc for ctx bo allocations | Dave Airlie | 2010-09-17 | 1 | -1/+1 |
| | | | | since the reference code relies on these being NULL. | ||||
* | r600g: fixup map flushing. | Dave Airlie | 2010-09-17 | 1 | -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. | ||||
* | r600g: add upload manager support. | Dave Airlie | 2010-09-17 | 6 | -47/+223 |
| | | | | | | this add support for the upload manager for uploading user vbo/index buffers. this provides a considerable speedup in q3 type games. | ||||
* | r600g: add winsys bo caching. | Dave Airlie | 2010-09-17 | 4 | -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. | ||||
* | r600g: add support for kernel bo | Dave Airlie | 2010-09-17 | 10 | -50/+352 |
| | | | | this moves to using a pb bufmgr instead of kernel bos directly. | ||||
* | r600g: use malloc bufmgr for constant buffers | Dave Airlie | 2010-09-17 | 3 | -1/+9 |
| | |||||
* | r600g: move constant buffer creation behind winsys abstraction. | Dave Airlie | 2010-09-17 | 12 | -55/+65 |
| | | | | this paves the way for moving to pb bufmgrs now. | ||||
* | libgl-xlib: Remove unused st_api_create_OpenGL. | Chia-I Wu | 2010-09-17 | 1 | -8/+0 |
| | | | | st/egl no longer relies on libGL for OpenGL support. | ||||
* | targets/egl: Use C++ compiler to link GL/ES state trackers. | Chia-I Wu | 2010-09-17 | 1 | -3/+10 |
| | | | | | Otherwise, applications compiled with C compiler might have trouble using them. | ||||
* | dri/nv10: Fix the CLAMP texture wrap mode. | Francisco Jerez | 2010-09-17 | 1 | -2/+1 |
| | |||||
* | tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0 | Brian Paul | 2010-09-16 | 1 | -6/+9 |
| | | | | | | | | | Basically, change the loop from: do {...} while (--num_inputs != 0) into: while (num_inputs != 0) { ... --num_inputs; } Fixes fd.o bug 29987. | ||||
* | r600g: attempt to abstract kernel bos from pipe driver. | Dave Airlie | 2010-09-17 | 19 | -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. | ||||
* | r600g: hide radeon_ctx inside winsys. | Dave Airlie | 2010-09-17 | 8 | -56/+42 |
| | | | | no need for this info to be exported to pipe driver. | ||||
* | gallivm: Remove unnecessary header. | Vinson Lee | 2010-09-16 | 1 | -1/+0 |
| | |||||
* | gallivm: fix wrong return value in bitwise functions | Brian Paul | 2010-09-16 | 1 | -3/+3 |
| | |||||
* | gallivm: Clamp indirect register indices to file_max. | José Fonseca | 2010-09-16 | 1 | -60/+71 |
| | | | | Prevents crashes with bogus data, or bad shader translation. | ||||
* | gallivm: Start collecting bitwise arithmetic helpers in a new module. | José Fonseca | 2010-09-16 | 8 | -32/+263 |
| | |||||
* | gallivm: Fix address register swizzle. | José Fonseca | 2010-09-16 | 1 | -2/+1 |
| | | | | | | | | | | We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX | ||||
* | meta: Don't bind the created texture object in init_temp_texture(). | Francisco Jerez | 2010-09-16 | 1 | -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 <[email protected]> | ||||
* | mesa: include mfeatures.h in formats.c | Brian Paul | 2010-09-16 | 1 | -0/+1 |
| | | | | | Otherwise, FEATURE_EXT_texture_sRGB was undefined. This is (part of?) the fix for fd.o bug 30177. | ||||
* | r300g/swtcl: fix CS overrun | Marek Olšák | 2010-09-16 | 2 | -8/+28 |
| | | | | https://bugs.freedesktop.org/show_bug.cgi?id=29901 | ||||
* | dri/nouveau: Cleanup references to the old FBOs on glMakeCurrent(). | Francisco Jerez | 2010-09-16 | 1 | -16/+8 |
| | |||||
* | dri/nouveau: Don't reemit the BO state in nouveau_state_emit(). | Francisco Jerez | 2010-09-16 | 2 | -5/+3 |
| | |||||
* | dri/nouveau: Don't request a fake front unnecessarily. | Francisco Jerez | 2010-09-16 | 5 | -17/+32 |
| | |||||
* | dri/nouveau: Fix glRenderbufferStorage with DEPTH_COMPONENT as internal format. | Francisco Jerez | 2010-09-16 | 1 | -0/+1 |
| | |||||
* | dri/nouveau: Add some more extensions. | Francisco Jerez | 2010-09-16 | 3 | -0/+4 |
| | |||||
* | dri/nouveau: Update nouveau_class.h. | Francisco Jerez | 2010-09-16 | 1 | -20/+20 |
| | |||||
* | dri/nv04: Fix provoking vertex. | Francisco Jerez | 2010-09-16 | 1 | -2/+2 |
| | |||||
* | dri/nv04: Fix maximum texture size. | Francisco Jerez | 2010-09-16 | 1 | -0/+1 |
| | |||||
* | dri/nv04: Fix up color mask. | Francisco Jerez | 2010-09-16 | 1 | -1/+5 |
| | |||||
* | dri/nv04: Align SIFM transfer dimensions. | Francisco Jerez | 2010-09-16 | 1 | -1/+1 |
| | |||||
* | dri/nv04: Mipmapping fixes. | Francisco Jerez | 2010-09-16 | 2 | -15/+21 |
| | |||||
* | dri/nv04: Fix PGRAPH_ERRORs when running OA. | Francisco Jerez | 2010-09-16 | 1 | -1/+5 |
| | |||||
* | dri/nv04: Enable eng3dm for A8/L8 textures. | Andrew Randrianasulu | 2010-09-16 | 1 | -4/+16 |
| | | | | Signed-off-by: Francisco Jerez <[email protected]> | ||||
* | dri/nv04: Don't expose ARB_texture_env_combine/dot3. | Andrew Randrianasulu | 2010-09-16 | 3 | -2/+4 |
| | | | | Signed-off-by: Francisco Jerez <[email protected]> | ||||
* | llvmpipe: add DEBUG_FS to dump variant information | Keith Whitwell | 2010-09-16 | 3 | -1/+3 |
| | |||||
* | llvmpipe: add LP_PERF flag to disable various aspects of rasterization | Keith Whitwell | 2010-09-16 | 8 | -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. | ||||
* | gallivm: make lp_build_sample_nop public | Keith Whitwell | 2010-09-16 | 2 | -6/+8 |
| | |||||
* | gallivm: move i32_vec_type inside the #ifdef | Brian Paul | 2010-09-16 | 1 | -1/+2 |
| | |||||
* | gallivm: fix incorrect vector shuffle datatype | Brian Paul | 2010-09-16 | 1 | -1/+5 |
| | | | | The permutation vector must always be a vector of int32 values. | ||||
* | nv50: get shader fixups/relocations into working state | Christoph Bumiller | 2010-09-16 | 4 | -54/+79 |
| | |||||
* | nv50: don't segfault on shaders with 0 instructions | Christoph Bumiller | 2010-09-16 | 1 | -1/+3 |
| | |||||
* | glsl: Don't print blank (function ...) headers for built-ins. | Kenneth Graunke | 2010-09-16 | 1 | -0/+3 |
| | | | | Fixes a regression caused when I added my GLSL ES support. | ||||
* | glsl: Change from has_builtin_signature to has_user_signature. | Kenneth Graunke | 2010-09-16 | 3 | -5/+5 |
| | | | | | The print visitor needs this, and the only existing user can work with has_user_signature just as well. | ||||
* | r600g: Use clamped math for RCP and RSQ. | Tilman Sauerbeck | 2010-09-16 | 1 | -2/+14 |
| | | | | | | This is likely only correct for OpenGL and not other state trackers. Signed-off-by: Tilman Sauerbeck <[email protected]> | ||||
* | r600g: Fixed a bo leak in r600_blit_state_ps_shader(). | Tilman Sauerbeck | 2010-09-16 | 1 | -1/+1 |
| | | | | | | We would leak the newly created bo if it cannot be mapped. Signed-off-by: Tilman Sauerbeck <[email protected]> | ||||
* | st/xlib: Notify the context when the front/back buffers are swapped. | Chia-I Wu | 2010-09-16 | 3 | -4/+21 |
| | | | | | | | | The current context should be notified when the the front/back buffers of the current drawable are swapped. The notification was skipped when xmesa_strict_invalidate is false (the default). This fixes fdo bug #29774. |