summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: upload translated indices via the uploaderMarek Olšák2011-01-301-3/+13
|
* r600g: rework vertex format fallbackMarek Olšák2011-01-303-47/+55
| | | | | 1) Only translate the [min_index, max_index] range. 2) Upload translated vertices via the uploader.
* r600g: fix vertex format fallbackMarek Olšák2011-01-305-21/+44
| | | | | | This fixes: - piglit/draw-vertices - piglit/draw-vertices-half-float
* r600g: rework vertex buffer uploadsMarek Olšák2011-01-303-84/+106
| | | | | | | | | | | Only upload the [min_index, max_index] range instead of [0, userbuf_size]. This an important optimization. Framerate in Lightsmark: Before: 22 fps After: 75 fps The same optimization is already in r300g.
* r600g: consolidate set_constant_buffer functionsMarek Olšák2011-01-304-97/+51
|
* r600g: consolidate vertex_buffer_update functionsMarek Olšák2011-01-304-164/+134
|
* r600g: consolidate draw_vbo functions (v2)Marek Olšák2011-01-305-258/+142
| | | | Added a conditional to spi_update per Dave's comment.
* r600g: make r600_drawl inherit pipe_draw_infoMarek Olšák2011-01-305-54/+30
|
* r600g: add back u_upload_mgr integrationMarek Olšák2011-01-3010-214/+73
| | | | | | | | | | | | I can't see a performance difference with this code, which means all the driver-specific code removed in this commit was unnecessary. Now we use u_upload_mgr in a slightly different way than we did before it got dropped. I am not restoring the original code "as is" due to latest u_upload_mgr changes that r300g performance benefits from. This also fixes: - piglit/fp-kil
* nvc0: implement transform feedback stateChristoph Bumiller2011-01-307-59/+163
|
* nvc0: enable PIPE_CAP_ARRAY_TEXTURES and fix themChristoph Bumiller2011-01-294-19/+34
|
* egl_dri2: Export glapi symbols for DRI drivers.Chia-I Wu2011-01-302-10/+27
| | | | | | | | | | | | When an app loads libEGL.so dynamically with RTLD_LOCAL, loading DRI drivers would fail because of missing glapi symbols. This commit makes egl_dri2 load libglapi.so with RTLD_GLOBAL to export glapi symbols for future symbol resolutions. The same trick can be found in GLX. However, egl_dri2 can only do so when --enable-shared-glapi is given. Because, otherwise, both libGL.so and libglapi.so define glapi symbols and egl_dri2 cannot tell which library to load.
* egl: Make the transition to built-in drivers more smooth.Chia-I Wu2011-01-301-5/+24
| | | | | | When the user sets EGL_DRIVER to egl_dri2 (or egl_glx), make sure the built-in driver is used. The user might leave the outdated egl_dri2.so (or egl_glx.so) on the filesystem and we do not want to load it.
* mapi: Workaround a bug in makedepend.Chia-I Wu2011-01-294-7/+30
| | | | | | | | | | | | | makedepend would crash when a source includes a header indirectly, such as #define HEADER "some-header.h" #include HEADER Do not define HEADER (makedepend would detects this as an incomplete include) and add the dependency manually in the Makefile. This should hopefully fix bug #33374.
* u_blitter: use user buffers instead of real buffersMarek Olšák2011-01-291-21/+8
| | | | User buffers may be the fastest way to upload data.
* gallium/docs: add info about transfer boxes and array texturesBrian Paul2011-01-281-0/+16
|
* gallium: added comments to pipe_transferBrian Paul2011-01-281-4/+4
|
* st/mesa: fix texture array dimensionsBrian Paul2011-01-283-18/+122
| | | | | | | | | | | | | For 1D/2D texture arrays use the pipe_resource::array_size field. In OpenGL 1D arrays texture use the height dimension as the array size and 2D array textures use the depth dimension as the array size. Gallium uses a special array_size field instead. When setting up gallium textures or comparing Mesa textures to gallium textures we need to be extra careful that we're comparing the right fields. The new st_gl_texture_dims_to_pipe_dims() function maps OpenGL texture dimensions to gallium texture dimensions and simplifies this quite a bit.
* softpipe: fix array textures to use resource array_sizeBrian Paul2011-01-283-21/+88
| | | | Don't use height for 1D array textures or depth for 2D array textures.
* mesa: fix typo, wrap long lineBrian Paul2011-01-281-2/+3
|
* st/mesa: pass layers param to st_texture_create()Brian Paul2011-01-287-4/+9
|
* Revert "glcpp: Demote "macro redefined" from an error to a warning"Carl Worth2011-01-294-38/+15
| | | | | | | | This reverts commit d3df641f0aba99b0b65ecd4d9b06798bca090a29. The original commit had sat unpushed on my machine for months. By the time I found it again, I had forgotten that we had decided not to use this change after all, (the relevant test was removed long ago).
* util: Fix leak of transfers in upload managerJakob Bornecrantz2011-01-281-0/+1
|
* mesa: Fix available APIs for AMD_conservative_depthChad Versace2011-01-281-1/+1
| | | | | Remove ES2, since AMD_conservative_depth is not listed in the OpenGL ES extension registry.
* r300/compiler: print stats based on the initial number of instructionsMarek Olšák2011-01-282-3/+10
| | | | | The same number of shaders is now printed regardless of optimizations being enabled or not, so that we can compare shader stats side by side easily.
* r300g: fix resource_copy_region for DXT SRGB formatsMarek Olšák2011-01-281-4/+4
|
* glcpp: Demote "macro redefined" from an error to a warningCarl Worth2011-01-284-15/+38
| | | | | | | | | | The GLSL specification is vague here, (just says "as is standard for C++"), though the C specifications seem quite clear that this should be an error. However, an existing piglit test (CorrectPreprocess11.frag) expects this to be a warning, not an error, so we change this, and document in README the deviation from the specification.
* glapi: add @GOTPCREL relocation typeDimitry Andric2011-01-272-2/+4
| | | | | | | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440 This replaces commit 731ec60da3ccb92f5bfb4d6f1bc3c8e712751376 NOTE: This is a candidate for the 7.9 and 7.10 branches Signed-off-by: Brian Paul <[email protected]>
* r600g: handle PIPE_CAP_ARRAY_TEXTURESMarek Olšák2011-01-281-0/+1
|
* r300g: handle PIPE_CAP_ARRAY_TEXTURESMarek Olšák2011-01-281-0/+1
|
* r300g: 8x8-compressed zbuffer can only be point-sampledMarek Olšák2011-01-281-1/+2
|
* r300g: fix and re-enable 8x8 zbuffer compression modeMarek Olšák2011-01-286-44/+69
| | | | Also cleanup the whole thing.
* r300g: print driver info if RADEON_DEBUG=infoMarek Olšák2011-01-277-39/+60
|
* r300g: add winsys flag CAN_AACOMPRESSMarek Olšák2011-01-274-10/+23
|
* r300g: rename flag squaretiling -> drm_2_1_0Marek Olšák2011-01-277-15/+14
|
* util: fix parsing debug optionsMarek Olšák2011-01-271-19/+25
| | | | | | | So that 'foo' can be found in: OPTION=prefixfoosuffix,foo Also allow that debug options can be separated by a non-alphanumeric characters instead of just commas.
* r300g: fix some bugs with zbuffer compression (v4)Marek Olšák2011-01-2714-331/+364
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This drops the memblock manager for ZMASK. Instead, only one zbuffer can be compressed at a time. Note that this does not necessarily have to be slower. When there is a large number of zbuffers, compression might be used more often than it was before. It's also easier to debug. How it works: 1) 'clear' turns the compression on. 2) If some other zbuffer is set or the currently-bound zbuffer is used for texturing, the driver decompresses it and then turns the compression off. Notes: - The ZMASK clear has been refactored, so that only one packet3 is used to clear ZMASK. - The 8x8 compression mode is disabled. I couldn't make it work without issues. - Also removed driver-specific stuff from u_blitter. Driver status: - RV530 and R580 appear to just work (finally). - RV570 should work, but there may be an issue that we don't correctly calculate the number of dwords to clear, resulting in a partially uninitialized zbuffer. - RS690 misrenders as if no ZMASK clear happened. No idea what's going on. - RV350 may even hardlock. This issue was already present and this patch doesn't fix it. I think we are still missing some hardware info we need to make the zbuffer compression work fully. Note that there is also an issue with HiZ, resulting in a sort of blocky zigzagged corruption around some objects.
* glsl: use 'this' pointer to be consistentBrian Paul2011-01-261-1/+1
|
* glsl: remove needless conditionalBrian Paul2011-01-261-14/+10
|
* glsl: move ir_var_out codeBrian Paul2011-01-261-7/+7
|
* glsl: move ir_var_system_value codeBrian Paul2011-01-261-5/+5
|
* glsl: use local var to simplify code a bitBrian Paul2011-01-261-22/+23
|
* mesa: fix compilationZack Rusin2011-01-261-5/+10
| | | | this isn't c++ please don't mix declerations with code
* glsl: Refresh autogenerated lexer fileChad Versace2011-01-261-117/+118
| | | | For previous commit.
* glsl: Remove extraneously extraneous parensChad Versace2011-01-261-1/+1
| | | | | | I found this parenthetical usage of parentheses to be extraneously extraneous: (yyextra->ARB_fragment_coord_conventions_enable)
* mesa: Allow extensions in MESA_EXTENSION_OVERRIDE to be prefixed with '+'Chad Versace2011-01-261-0/+5
| | | | | If an extension is prefixed with '+', attempt to enable it. This introduces symmetry with the prefix '-', which is already allowed.
* mesa: Simplify logic in get_extension_override()Chad Versace2011-01-261-62/+41
| | | | | | * Reduce max indentation level from 7 to 3. * Eliminate counter variables. * Remove function append().
* glsl: Enable AMD_conservative_depth in parserChad Versace2011-01-261-0/+7
| | | | | All the necessary compiler infrastructure for AMD_conservative_depth is in place, so it's safe to enable it in the parser.
* mesa: Propagate gl_FragDepth layout from GLSL IR to Mesa IRChad Versace2011-01-262-0/+41
|
* glsl: Raise linking error if gl_FragDepth layout is inconsistentChad Versace2011-01-261-0/+26
| | | | | | | | | From the AMD_conservative_depth spec: If gl_FragDepth is redeclared in any fragment shader in a program, it must be redeclared in all fragment shaders in that program that have static assignments to gl_FragDepth. All redeclarations of gl_FragDepth in all fragment shaders in a single program must have the same set of qualifiers.