summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-08-04glx: Fix use after free in drisw error pathKristian Høgsberg
2010-08-04glx: We no longer need screen extensions for driswKristian Høgsberg
https://bugs.freedesktop.org/show_bug.cgi?id=29177
2010-08-04glx: dri2InvalidateBuffers() needs the X drawable XID not the GLX oneKristian Høgsberg
This never ceases to entertain.
2010-08-04r600: relax stride/alignment requirements for verticesAndre Maasikas
seems hw can do unaligned accesses and unaligned strides removes extra conversion when using vbo's however I needed to switch 3 component byte format to 4 component formats for tests to pass. Somewhat sililar to GL_SHORT fix done earlier removes assert and gains +2 piglit especially draw-vertices
2010-08-04draw: Fix the edge flags of flatshade_first polygons.Chia-I Wu
This bug can be triggered by rendering polygons with glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT); glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
2010-08-03r300/compiler: Always unroll loops when doing loop emulation.Tom Stellard
2010-08-03r300/compiler: r500 hw support for break and continue in loops.Tom Stellard
The BGNLOOP and ENDLOOP instructions are now being used correctly, which makes break and continue possible. The deadcode pass has been modified to handle breaks, and the compiler is more careful about which loops are unrolled.
2010-08-03r300/compiler: KILP may not always be inside an IF statement.Tom Stellard
2010-08-03r300/compiler: Don't unroll loops with continue or break.Tom Stellard
2010-08-03st/mesa: Clean up header file inclusion in st_cache.h.Vinson Lee
2010-08-03st/mesa: Add forward declarations in st_atom_shader.h.Vinson Lee
2010-08-04r300g: disable multisample visuals until the state tracker bits catch up.Dave Airlie
This stops us advertising lots of ms visuals we can't actually use. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-03draw: check for instance divisors in vcache_check_run()Brian Paul
When we have instance divisors we don't really know which vertex elements we'll be fetching ahead of time. This fixes a bug in instanced drawing which was exposed by the new draw_vbo() code because of max_index not being ~0 as often as it used to be. The test for max_index >= DRAW_PIPE_MAX_VERTICES often hid this problem before.
2010-08-03gallium/translate: make generic_run() and generic_run_elts() more alikeBrian Paul
Plus more debug code and do clamping in generic_run().
2010-08-03draw: added a commentBrian Paul
2010-08-03draw: use instance divisor in draw_print_arrays()Brian Paul
2010-08-03draw: add assertion, rearrange debug codeBrian Paul
2010-08-04st/dri: fix crash when dri2_drawable_get_buffers failsMarek Olšák
It's easily reproducible with Compiz with its Resize window mode set to Normal (which is usually not the default mode). https://bugs.freedesktop.org/show_bug.cgi?id=28658 https://bugs.freedesktop.org/show_bug.cgi?id=29303 This is actually a workaround to prevent Compiz crashes. Instead, a completely white titlebar might show up during resizing transparent windows (a rare case). The underlying cause should be fixed by someone who has more knowledge about the code. (dri2_drawable_get_buffers should not return NULL) Acked-By: Jakob Bornecrantz <jakob@vmware.com>
2010-08-04mesa: increase the relative address offset limit to 4096 in ARB_vp/fpMarek Olšák
Even though the spec says that the limits should be -64/+63, proprietary drivers support much larger relative offsets and some applications do depend on this non-standard behavior. Also program_parse.tab.c has been regenerated. This fixes the parser error: ARB_vp: error: relative address offset too large See also: https://bugs.freedesktop.org/show_bug.cgi?id=28628 4096 * sizeof(vec4) is the maximum size of the constant buffer on NV50. It is not supposed to be a definite hardware limit, it is for the parser not to get in the way and let the underlying driver decide whether it can run the shader or not.
2010-08-03r600g: add polygon offset supportJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-03r600g: flush and resubmit if we reach limitJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-03r600g: fix color target maskJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-03gallium/draw: forgot about PIPE_PRIM_LINE_STRIP_ADJACENCYZack Rusin
2010-08-03gallium/util: add extra primitives to the trimmerZack Rusin
2010-08-03r600g: fix stencilJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-03glsl2: Fix ir_validate validating null variable names.Eric Anholt
An unnamed variable in a prototype will have a NULL ->name, so don't worry about storage then. Fixes: CorrectFunction1.vert CorrectParse1.frag
2010-08-03glsl2: No need to strdup the name passed in to ir_variable constructor.Eric Anholt
ir_variable always strdups the incoming name so that it matches the lifetime of the ir_variable.
2010-08-03r600g: fix LIT + fix multiple constant one ALU + fix ALU block splittingJerome Glisse
Make sure LIT fills all slot for instruction (can't do W instruction without having the Z slot filled with at least a NOP). ALU instruction can't access more than 4 constant, move constant to temporary reg if we reach the limit. Fix ALU block splitting, only split ALU after ALU with last instruction bit sets. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-03r300g: handle polygon offset correctlyMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29372
2010-08-03st/mesa: Add forward declarations in st_atom_constbuf.h.Vinson Lee
2010-08-03st/mesa: Include glheader.h in st_atom.h.Vinson Lee
Include glheader.h for GLenum symbol.
2010-08-03mesa: Clean up header file inclusion in m_xform.h.Vinson Lee
Include compiler.h for CONST symbol. Remove config.h as m_xform.h uses no additional symbols from config.h.
2010-08-03mesa: Reduce header file inclusion in m_translate.h.Vinson Lee
m_translate.h does not use any additional symbols added by config.h.
2010-08-03mesa: Include missing header in m_matrix.h.Vinson Lee
2010-08-03mesa: Reduce header file inclusion in texgen.h.Vinson Lee
texgen.h doesn't use any symbols additionally added by mtypes.h.
2010-08-03mesa: Reduce header file inclusion in texcompress_fxt1.h.Vinson Lee
texcompress_fxt1.h doesn't use any additional symbols added by mtypes.h.
2010-08-02mesa: Reduce header file inclusion in syncobj.h.Vinson Lee
syncobj.h doesn't use any additional symbols that is added by context.h.
2010-08-02glsl2: Fix typo in clamp() constant builtin using uint instead of int.Eric Anholt
I take back the bad things I've said about the signed/unsigned comparison warning now.
2010-08-02ir_to_mesa: Add support for 1.20 uniform initializers.Eric Anholt
Fixes: glsl-uniform-initializer-1 glsl-uniform-initializer-2 glsl-uniform-initializer-3 glsl-uniform-initializer-4 glsl1-GLSL 1.20 uniform array constructor
2010-08-02glsl2: Don't consider uniform initializers as constant expressions.Eric Anholt
We were happily optimizing away the body of glsl-uniform-initializer-* to never use the uniforms.
2010-08-02Initialize a couple of HasIndex2 fields on Mesa IR src regs.Eric Anholt
2010-08-02ir_to_mesa: Support for struct uniforms.Eric Anholt
Fixes glsl-uniform-struct.
2010-08-02ir_to_mesa: Add a constructor for ir_to_mesa_src_reg.Eric Anholt
This helps makes sure we don't miss any new fields, and makes totally uninitialized src_regs be PROGRAM_UNDEFINED.
2010-08-02glsl2: Use talloc_zero_size instead of talloc_size to allocate ast_node objects.Carl Worth
This is a zero-ing function, (like calloc), to avoid bugs due to accessing uninitialized values. Thanks to valgrind for noticing the use of uninitialized values.
2010-08-02r600g: split alu block to conform to limit + RCP opcodeJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-02glsl_type: Use string key for array type hashIan Romanick
2010-08-02Keep a local copy of the symbol name in the symbol tableIan Romanick
The symbol_header structure that tracks symbols with a particular name may have a different (longer) life time than the symbols it tracks. Not keeping a local copy of the name can lead to use-after-free errors. For example, the following sequence would trigger such an error: char *copy = strdup(name); _mesa_symbol_table_push_scope(st); _mesa_symbol_table_add_symbol(st, 0, name, NULL); _mesa_symbol_table_pop_scope(st); free(name); _mesa_symbol_table_find_symbol(st, 0, copy); With this change, the symbol table keeps a local copy of the name that has the same life time as the symbol_header for that name. This resolves some use-after-free errors with built-in functions in the GLSL compiler.
2010-08-02glsl2: Clean-up two 'unused variable' warningsIan Romanick
2010-08-02glsl2: Make glsl_types::ctx private againIan Romanick
2010-08-02glsl2: Fix expression type in builtin tan().Eric Anholt
Fixes glsl-fs-tan-1.