summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* texstore: fix regression stricter check for memcpy path for unorm88 and ↵Hans de Goede2011-04-121-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | unorm1616 According to https://bugs.freedesktop.org/show_bug.cgi?id=34280 commit 5d1387b2da3626326410804026f8b92f1a121fdc causes the font corruption problems people have been seeing under various apps and gnome-shell on r200 cards. This commit changed (loosened) the check for using the memcpy path in the former al88 / al1616 texstore functions, which are now also used to store rg texures. This patch restores the old strict check in case of al textures. I've no idea why this fixes things, since I don't know the code in question at all. But after seeing the bisect in bfdo34280 point to this commit, I gave this fix a try and it fixes the font issues seen on r200 cards. [airlied: r200 has no native working A8, so it does an internal storage format of AL88 however srcFormat == internalFormat == ALPHA when we get to this point, so it copies, but it wants to store into an AL88 not ALPHA so fails, I'll also push a piglit test for this on r200]. Many thanks to Nicolas Kaiser who did all the hard work of tracking this down! Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* ir_to_mesa: silence signed/unsigned comparison warningsBrian Paul2011-04-111-2/+2
|
* r600: silence various compiler warningsBrian Paul2011-04-117-10/+19
|
* Merge branch 'arb_sampler_objects'Brian Paul2011-04-1166-3896/+5636
|\
| * mesa: fixup r600 DRI driver for sampler object changesBrian Paul2011-04-114-26/+26
| |
| * mesa: plug in new functions for GL_ARB_sampler_objectsBrian Paul2011-04-107-0/+42
| | | | | | | | | | | | Build the new sources, plug the new functions into the dispatch table, implement display list support. And enable extension in the gallium state tracker.
| * mesa: new code/functions for GL_ARB_sampler_objectsBrian Paul2011-04-102-0/+1409
| | | | | | | | | | This implements the infrastructure for sampler objects and all the new API functions.
| * mesa: alloc/free shared sampler objectsBrian Paul2011-04-101-0/+27
| |
| * mesa: new driver hooks for GL_ARB_sampler_objectsBrian Paul2011-04-101-0/+8
| |
| * mesa: add glGet for GL_ARB_sampler_objectsBrian Paul2011-04-101-0/+17
| |
| * mesa: move sampler state into new gl_sampler_object typeBrian Paul2011-04-1051-547/+620
| | | | | | | | | | | | gl_texture_object contains an instance of this type for the regular texture object sampling state. glGenSamplers() generates new instances of gl_sampler_object which can override that state with glBindSampler().
| * glapi: regenerated files for GL_ARB_sampler_objectsBrian Paul2011-04-103-3339/+3503
| |
* | Revert "i965: clear global offset to zero in m0.2 for VS DP read."Zou Nan hai2011-04-121-9/+0
| | | | | | | | | | This reverts commit 66b66295d0bc856c69fdcccc22575580c7ecee16. it was already fixed by commit 9d60a7ce08a67eb8b79c60f829d090ba4a37ed7e
* | i965: Remove hint_gs_always and resulting dead codeIan Romanick2011-04-113-76/+13
| | | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* | intel: Fix ROUND_DOWN_TO macroIan Romanick2011-04-111-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the macro would (ALIGN(value - alignment - 1, alignment)). At the very least, this was missing parenthesis around "alignment - 1". As a result, if value was already aligned, it would be reduced by alignment. Condisder: x = ROUND_DOWN_TO(256, 128); This becomes: x = ALIGN(256 - 128 - 1, 128); Or: x = ALIGN(127, 128); Which becomes: x = 128; This macro is currently only used in brw_state_batch (brw_state_batch.c). It looks like the original version of this macro would just use too much space in the batch buffer. It's possible, but not at all clear to me from the code, that the original behavior is actually desired. In any case, this patch does not cause any piglit regressions on my Ironlake system. I also think that ALIGN_FLOOR would be a better name for this macro, but ROUND_DOWN_TO matches rounddown in the Linux kernel. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Keith Whitwell <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* | i965: Move the SF VP from state caching to state streaming.Eric Anholt2011-04-113-8/+17
| | | | | | | | | | | | | | | | | | This is a 49.6% +/- 2.0% (n=9, IPS outlier removed) performance improvement for the hacked-up-for-cache-misses scissor-many, and no statistically significant performance difference for the hacked-up-for-cache-hits version (n=9, IPS outlier removed). No statistically significant performance difference from ETQW (n=5) from these last two commits.
* | i965: Change the SF unit from state caching to state streaming.Eric Anholt2011-04-113-107/+45
| | | | | | | | | | | | | | | | | | This is a 28.1% +/- 1.4% (n=10) performance improvement for the hacked-up-for-cache-misses scissor-many (n=10), and no statistically significant wall-time performance difference for the hacked-up-for-cache-hits version (n=9, first outlier in each removed since IPS was warming up. User time increased by about 4.7%, but kernel time decreased equivalently).
* | i965: Turn SF unit and viewport structs into pointers to prep for streaming.Eric Anholt2011-04-111-69/+70
|/ | | | I wanted to separate this mechanical change from the actual work.
* mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.Henri Verbeet2011-04-101-1/+1
| | | | | | NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Henri Verbeet <[email protected]>
* Make st_pipe_vertex_format return type in st_draw.h match st_draw.cAlan Coopersmith2011-04-081-1/+1
| | | | | | | | | Fixes compiler error from Sun compilers: "state_tracker/st_draw.c", line 185: identifier redeclared: st_pipe_vertex_format current : function(unsigned int, unsigned int, unsigned int, unsigned char) returning enum pipe_format previous: function(unsigned int, unsigned int, unsigned int, unsigned char) returning unsigned int : "state_tracker/st_draw.h", line 73 Signed-off-by: Alan Coopersmith <[email protected]>
* Fix GET_PROGRAM_NAME() on Solaris to not try to modify a read-only stringAlan Coopersmith2011-04-081-1/+19
| | | | Signed-off-by: Alan Coopersmith <[email protected]>
* i965/fs: Remove broken optimization for live intervals in loops.Eric Anholt2011-04-081-4/+2
| | | | | | | | | The theory here was to detect a temporary variable used within a loop, and avoid considering it live across the entire loop. However, it was overeager and failed when the first definition of the variable appeared within the loop but was only conditionally defined. Fixes glsl-fs-loop-redundant-condition.
* st/mesa: Clamp min_lod to the max miplevel as well.Henri Verbeet2011-04-081-1/+3
| | | | | | | | Otherwise min_lod can potentially be larger than the clamped max_lod. The code that follows will swap min_lod and max_lod in that case, resulting in a max_lod larger than MAX_LEVEL. Signed-off-by: Brian Paul <[email protected]>
* st/mesa: Set samplers views' first_level.Henri Verbeet2011-04-082-7/+6
| | | | | | | | Base level and min LOD aren't equivalent. In particular, min LOD has no effect on image array selection for magnification and non-mipmapped minification. Signed-off-by: Brian Paul <[email protected]>
* mesa: fix dstRowDiff computation in RGTC texstore functionsMarek Olšák2011-04-081-4/+4
| | | | | Copied from libtxc_dxtn, this fixes NPOT RGTC1 textures with r300g. I also did the same for RGTC2.
* mesa: Update _ElementSize in a few more places.José Fonseca2011-04-073-0/+5
|
* mesa/st: Fix user buffer size computation when stride is zero.José Fonseca2011-04-073-41/+54
| | | | | | | | | | | | | | | | | | | Although for GL a zero stride means tightly packed elements, Mesa internally uses zero strides for constant arrays. Therefore user buffers need to be defined from buffer_offset + src_offset + min_index*stride to buffer_offset + src_offset + max_index*stride + elem_size Simplifying the later with (max_index + 1)*stride will give zero sized buffers. This change also aggregates the st_context's info about user buffers into a single array.
* mesa: Update _ElementSize.Brian Paul2011-04-075-0/+7
|
* mesa/st: Prevent 'end' < 'start' in vbo_exec_DrawRangeElementsBaseVertex()José Fonseca2011-04-071-1/+6
| | | | | | | | We adjust 'end' to fit into _MaxElement, but that may result into a 'start' value bigger than 'end' being passed downstream, causing havoc. This could be seen with arb_robustness_draw-vbo-bounds, due to an application bug.
* mesa/st: Handle feedback draw when VBO offsets are not sorted in ascending ↵José Fonseca2011-04-071-2/+13
| | | | | | | | order. Simply port the same logic from setup_interleaved_attribs(). Avoids overflow in mustpass.c and feedback.c conform tests.
* i965: clear global offset to zero in m0.2 for VS DP read.Zou Nan hai2011-04-071-0/+9
| | | | Signed-off-by: Zou Nan hai <[email protected]>
* mesa: Fix allocation size of extension_indices array.Vinson Lee2011-04-061-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: fix error message textBrian Paul2011-04-061-1/+1
|
* mesa: consolidate code in _mesa_update_array_max_element()Brian Paul2011-04-063-63/+35
|
* mesa: init/release the default texture buffer objectBrian Paul2011-04-061-0/+8
|
* mesa: fix popping of texture state for GL_TEXTURE_BUFFERBrian Paul2011-04-061-0/+2
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=36032
* mesa: TEXTURE_BUFFER fix-upBrian Paul2011-04-061-0/+1
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=36033
* r300/compiler: Don't try to convert RGB to Alpha in full instructionsTom Stellard2011-04-061-1/+2
| | | | Note: This is a candidate for the 7.10 branch.
* mesa: Recognize MESA_VERBOSE=all as shortcut for all debug options.José Fonseca2011-04-061-1/+1
|
* swrast: simplify assertion to silence warningBrian Paul2011-04-051-6/+1
|
* mesa: core support for GL_ARB_texture_buffer_objectBrian Paul2011-04-0512-6/+357
| | | | No GLSL or driver support yet.
* mesa: regenerated API entrypoints for GL_ARB_texture_buffer_objectBrian Paul2011-04-053-4595/+4623
|
* scons: Generate empty git_sha1.h for all platforms.Vinson Lee2011-04-051-9/+9
| | | | Fixes MinGW SCons build.
* ir_to_mesa: Use gl_register_file enum type rather than 'int'.Kenneth Graunke2011-04-051-5/+5
| | | | | | src_reg already used this; make dst_reg use it too. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Unprefix ir_to_mesa_undef* and ir_to_mesa_address_reg.Kenneth Graunke2011-04-051-17/+13
| | | | | | Rename ir_to_mesa_undef to undef_src, for clarity. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Use emit overloads to avoid passing undef registers.Kenneth Graunke2011-04-051-4/+3
| | | | | | Makes the code just a little bit cleaner. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Rename ir_to_mesa_emit_*_opX methods to emit_*.Kenneth Graunke2011-04-051-211/+147
| | | | | | | | There's really no need for a prefix on member functions, and overloading takes care of the _op1/_op2 distinction quite nicely. Eric already made a similar change in the i965 FS backend. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Use constructors to convert between src_reg and dst_reg.Kenneth Graunke2011-04-051-51/+66
| | | | | | | | | | | | | Rather than ir_to_mesa_dst_reg_from_src and ir_to_mesa_src_reg_from_dst. The new constructors are marked 'explicit' so that the compiler can catch cases where source and destination registers were accidentally interchanged. This also necessitated using constructors to initialize the undef and address registers, as well as adding a default constructor. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Remove the "ir_to_mesa_" prefix on src_reg/dst_reg types.Kenneth Graunke2011-04-051-121/+121
| | | | | | | | | | Both classes are completely private to ir_to_mesa.cpp, so there won't be any name conflicts with other parts of Mesa. The prefix simply makes it harder to read. Also, use a class rather than typedef structs. Reviewed-by: Ian Romanick <[email protected]>
* ir_to_mesa: Rename src_reg and dst_reg variables to src and dst.Kenneth Graunke2011-04-051-104/+101
| | | | | | | This is in preparation from removing the "ir_to_mesa_" prefix on the src_reg and dst_reg types, which would cause a naming conflict. Reviewed-by: Ian Romanick <[email protected]>