summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* vbo: rename DO_FALLBACK -> dlist_fallbackBrian Paul2011-06-081-9/+9
|
* vbo: remove node->count > 0 test in vbo_save_playback_vertex_list()Brian Paul2011-06-081-9/+11
| | | | | | | | | | | | | | See piglit dlist-fdo31590.c test and http://bugs.freedesktop.org/show_bug.cgi?id=31590 In this case we had node->prim_count=1 but node->count==0 because the display list started with glBegin() but had no vertices. The call to glEvalCoord1f() triggered the DO_FALLBACK() path. When replaying the display list, the old condition basically no-op'd the call to vbo_save_playback_vertex_list call(). That led to the invalid operation error being raised in glEnd(). NOTE: This is a candidate for the 7.10 branch.
* vbo: check array indexes to prevent negative indexingBrian Paul2011-06-082-10/+13
| | | | | | See the piglit dlist-fdo31590.c test NOTE: This is a candidate for the 7.10 branch.
* st: use _mesa_is_bufferobj()Brian Paul2011-06-081-3/+4
|
* vbo: added a commentBrian Paul2011-06-081-1/+1
|
* gallium: fix comments for pipe_stream_output_stateBrian Paul2011-06-081-7/+9
|
* mesa: remove old commentBrian Paul2011-06-081-1/+0
|
* mesa: add more sampler types to is_sampler_type()Brian Paul2011-06-081-0/+4
|
* gallium: s/bool/boolean/Brian Paul2011-06-0813-21/+21
|
* draw: fix edge flag handling in clipper (for unfilled tris/quads/polygons)Brian Paul2011-06-081-5/+57
| | | | | | | | | | | | | | | | | | | | Previously, we were errantly drawing some interior edges of clipped polygons and quads. Also, we were introducing extra edges where polygons intersected the view frustum clip planes. The main problem was that we were ignoring the edgeflags encoded in the primitive header's 'flags' field which are set during polygon/quad ->tri decomposition. We need to observe those during clipping. Since we can't modify the existing vert's edgeflag fields, we need to store them in a parallel array. Edge flags also need to be handled differently for view frustum planes vs. user-defined clip planes. In the former case we don't want to draw new clip edges but in the later case we do. This matches NVIDIA's behaviour and it just looks right. Finally, note that the LLVM draw code does not properly set vertex edge flags. It's OK on the regular software path though.
* osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.Jeremy Huddleston2011-06-071-0/+28
| | | | | | | | | When GLX_INDIRECT_RENDERING is defined, some symbols are used in libglapi.a but are not defined. Define them through the help of glapitemp.h. Signed-off-by: Jeremy Huddleston <[email protected]> Signed-off-by: Chia-I Wu <[email protected]>
* apple: Update dispatch table to current OpenGL specsJeremy Huddleston2011-06-071-25/+233
| | | | | | | This updates the apple dispatch table to match the current glapi. Aliases are still not handled very well. Signed-off-by: Jeremy Huddleston <[email protected]>
* apple: Dead code removalJeremy Huddleston2011-06-0724-52219/+0
| | | | | | Now that we're using glapi, all of this is no longer needed. Signed-off-by: Jeremy Huddleston <[email protected]>
* apple: Remove apple_glx_get_proc_addressJeremy Huddleston2011-06-073-54/+0
| | | | | | Now that we're using glapi, we don't need to special case this. Signed-off-by: Jeremy Huddleston <[email protected]>
* apple: Use glapi rather than reinventing the wheelJeremy Huddleston2011-06-0710-53/+1065
| | | | | | | | | | | | | | | | | | With this change, Apple's libGL is now using glapi rather than implementing its own dispatch. In this implementation, two dispatch tables are created: __ogl_framework_api always points into OpenGL.framework. __applegl_api is the vtable that is used. It points into OpenGL.framework or to local implementations that override / interpose this in OpenGL.framework The initialization for __ogl_framework_api was copied from XQuartz with some modifications and probably still needs further edits to better deal with aliases. This is a good step towards supporting both indirect and direct rendering on darwin. Signed-off-by: Jeremy Huddleston <[email protected]>
* apple: Rename __gl_api to __ogl_framework_apiJeremy Huddleston2011-06-074-14/+14
| | | | | | | In starting the migration to using mapi, rename __gl_api to __ogl_framework_api since it is a vtable for OpenGL.framework Signed-off-by: Jeremy Huddleston <[email protected]>
* r600g: missed one line in eg dyn gpr fallback.Dave Airlie2011-06-081-0/+1
| | | | | | need more sleep or something. Signed-off-by: Dave Airlie <[email protected]>
* r600g: set enable always bits for r600/r700 sq registers.Dave Airlie2011-06-081-11/+11
| | | | | | This makes sure these are enabled even if set to 0 at startup. Signed-off-by: Dave Airlie <[email protected]>
* r600g: condition evergreen dyn gpr resource managementDave Airlie2011-06-082-2/+33
| | | | | | | So only with kernel version 2.7 can this work, thanks to Alex for pointing that out. Also add a workaround for a hw bug. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix warnings in winsys.Dave Airlie2011-06-081-5/+2
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: enable dynamic GPR resource management on evergreenDave Airlie2011-06-083-20/+11
| | | | | | | | | | | Evergreen can do this as well as cayman, so we should enable it. This fixes a gpu lockup with glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined.shader_test I need to add a better workaround for r600/r700. Signed-off-by: Dave Airlie <[email protected]>
* r600g: only add blocks once to the dirty/enabled lists.Dave Airlie2011-06-081-3/+5
| | | | | | This caused a loop in some tests. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix regression in recent state changes.Dave Airlie2011-06-081-0/+1
| | | | | | | | | | We weren't emitting the SQ setup regs at all which really is fail. When a state is always enabled we need to add it to the dirty list as well. Signed-off-by: Dave Airlie <[email protected]>
* r600g: move simple part of bo reloc processing inline.Dave Airlie2011-06-082-12/+17
| | | | | | | This just moves the messy stuff out of the fast path, and leaves the fast-case in the fast path. Signed-off-by: Dave Airlie <[email protected]>
* r600g: take alpha ref update out of line.Dave Airlie2011-06-081-5/+4
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: split resource emit path from main register emit pathDave Airlie2011-06-084-17/+106
| | | | | | | | | Since resources don't generally vary in size, this splits the emit path, it also takes into a/c that texture and vertex resources have different number of relocs, and avoids emitting the extra reloc for vertex resources. Signed-off-by: Dave Airlie <[email protected]>
* r600g: exit bo per reg scanning loop early.Dave Airlie2011-06-082-9/+13
| | | | | | | | | Exit this loop early to avoid pointless iterations later. Move the resource bos to the first two regs, it actually doesn't matter which regs we use for this in resource land. Signed-off-by: Dave Airlie <[email protected]>
* r600g: reorder evergreen draw packets to be smaller.Dave Airlie2011-06-081-4/+8
| | | | | | | We were always re-emitting lots of unnecessary changes here, avoid doing that. Signed-off-by: Dave Airlie <[email protected]>
* r600g: inline r600_bo_reference.Dave Airlie2011-06-083-13/+15
| | | | | | This relies on the reference member being first, so document it. Signed-off-by: Dave Airlie <[email protected]>
* r600g: no need to drop the references here.Dave Airlie2011-06-081-2/+0
| | | | | | We drop them when we reference the new objects in the next line. Signed-off-by: Dave Airlie <[email protected]>
* r600g: use memcmp instead of a loop in state_set_resourceDave Airlie2011-06-081-5/+3
| | | | Signed-off-by: Dave Airlie <[email protected]>
* mesa: Ignore blits to/from missing buffersIan Romanick2011-06-071-8/+37
| | | | | | | | | | | | | | | | | | | | | The EXT_framebuffer_object spec (and later specs) say: "If a buffer is specified in <mask> and does not exist in both the read and draw framebuffers, the corresponding bit is silently ignored." Check for color, depth, and stencil that the source and destination FBOs have the specified buffers. If the buffer is missing, remove the bit from the blit request mask and continue. Fixes the crash in piglit test 'fbo-missing-attachment-blit from', and fixes 'fbo-missing-attachment-blit es2 from'. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37739 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for the stable branches.
* mesa: Don't try to clear a NULL renderbufferIan Romanick2011-06-071-0/+8
| | | | | | | | | | | | | | In an ES2 context (or if GL_ARB_ES2_compatibility) is supported, the framebuffer can be complete with some attachments be missing. In this case the _ColorDrawBuffers pointer will be NULL. Fixes the crash in piglit test fbo-missing-attachment-clear. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37739 Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Eric Anholt <[email protected]> NOTE: This is a candidate for the stable branches.
* mga: enable GL_ARB_vertex_array_object extensionNicolas Kaiser2011-06-071-0/+2
| | | | | | | Tested on a Matrox G550 AGP. Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* egl_dri2: Add missing headerBenjamin Franzke2011-06-071-0/+1
|
* egl_dri2: Add missing licenseBenjamin Franzke2011-06-071-0/+28
|
* egl_dri2: Use libudev only if availableBenjamin Franzke2011-06-071-2/+7
| | | | Broken since 7f881c43dfb4f1aeeab3a84125b5c106c191a43f.
* r600g : fix incorrect size computation in r600_query_resultPierre-Eric Pelloux-Prayer2011-06-071-1/+2
| | | | | | | | | | | | | query->num_results already has the size in dwords of the query buffer. There no need to multiply again. We were reading past the end of the buffer, resulting in reading garbage. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=37028 agd5f: clarify the comment. Signed-off-by: Alex Deucher <[email protected]>
* r600g: remove pre-r6xx asic families and pci idsAlex Deucher2011-06-072-35/+0
| | | | | | Not sure why these were included originally. Signed-off-by: Alex Deucher <[email protected]>
* r600g: always clear query memoryAlex Deucher2011-06-071-3/+3
| | | | | | | | | | | | | According to the hw documentation, the driver needs to: - allocate 128 bits for each possible DB - clear the 128 bits for each possible DB - write 1 to bits 127 and 63 for upper DBs that don't exist on a particular asic Previously we were only doing these steps if the asic had less than the max possible DBs. Signed-off-by: Alex Deucher <[email protected]>
* r300g: consolidate deducing chipset infoMarek Olšák2011-06-074-392/+107
| | | | Use the new PCI ID table, make it simpler.
* r600g: add missing r300 familiesMarek Olšák2011-06-071-0/+5
| | | | Wondering why r600g needs to include r300_pci_ids.h
* intel: Update intel-decode.c from intel-gpu-tools.Eric Anholt2011-06-072-88/+785
|
* intel: Implement glFinish() correctly by waiting on all previous rendering.Eric Anholt2011-06-073-16/+13
| | | | | Before, we were waiting for (most of) the current framebuffer to be done, which is not quite the same thing.
* r300g: Remove is_r3xxBenjamin Franzke2011-06-073-215/+9
| | | | | | Use r300_pci_ids.h instead. Reviewed-by: Alex Deucher <[email protected]>
* r600g: Use radeon pciid list for the family lookup tableBenjamin Franzke2011-06-072-481/+6
| | | | Reviewed-by: Alex Deucher <[email protected]>
* radeon: Use pciid list to generate PCI_CHIP_<FAMILY>_<ID> definesBenjamin Franzke2011-06-071-491/+9
| | | | Reviewed-by: Alex Deucher <[email protected]>
* targets/egl: Support driver name lookup using pci listsBenjamin Franzke2011-06-073-71/+83
| | | | | | Make use of this in drm and wayland st/egl backends. Reviewed-by: Alex Deucher <[email protected]>
* egl_dri2: Use external driver pci listBenjamin Franzke2011-06-074-664/+116
| | | | Reviewed-by: Alex Deucher <[email protected]>
* tgsi: s/varient/variant/Brian Paul2011-06-071-2/+2
|