summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: Invalidate drawables on context switchBenjamin Franzke2011-06-211-9/+13
|
* r600g: use maths instead of a loop to work out mask.Dave Airlie2011-06-211-4/+1
| | | | | | This is equivalent results with less looping. Signed-off-by: Dave Airlie <[email protected]>
* r600g: optimise draw vbo function a bit more.Dave Airlie2011-06-211-43/+9
| | | | | | | | this drop a bunch of unnecessary checks (i.e. should be trapped at gallium level), and also removes the switch statement in favour of some calculated values for the vgt values. Signed-off-by: Dave Airlie <[email protected]>
* r600g: reorder LIT instructions to support src == dstPierre-Eric Pelloux-Prayer2011-06-211-35/+36
| | | | | | | | | | | | the attached patch should be an improvement over Vadim Girlin's patch fixing LIT instruction for r600g (commit 2fe39b46e73aea37152777fe11d489e0b1bc3f92). Instructions used in tgsi_lit have been reordered to always write to a dst channel after the same channel in src has been read (so if src == dst, input values are not overwritten before being used). Signed-off-by: Dave Airlie <[email protected]>
* nvfx: nasty hack to make glFinish() actually finish..Ben Skeggs2011-06-213-2/+22
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* glx: Fix compile.Stéphane Marchesin2011-06-201-1/+1
|
* st/mesa: Remove unneeded texture format terminators.Stéphane Marchesin2011-06-201-2/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* st/mesa: put const qualifer on format_map tableBrian Paul2011-06-201-1/+1
|
* glx: Bind to our context before __glXSetCurrentContextJeremy Huddleston2011-06-201-9/+16
| | | | | | | We want to bind to our context before calling __glXSetCurrentContext or messing with the gc rect in order to properly handle error conditions. Signed-off-by: Jeremy Huddleston <[email protected]>
* glx: Destroy the old context only after the new one has been boundJeremy Huddleston2011-06-201-7/+7
| | | | | | This fixes a regression introduced by 49d7e48b33264d94e30af6129c281b6acafa9427 Signed-off-by: Jeremy Huddleston <[email protected]>
* glx: Allow a context-specific fallback for glXGetProcAddressJeremy Huddleston2011-06-207-1/+20
| | | | | | | | In applegl, GLX advertises the same extensions provided by OpenGL.framework even if such extensions are not provided by glapi. This allows a client to get access to such API. Signed-off-by: Jeremy Huddleston <[email protected]>
* glapi: Update specs to correctly list FramebufferTextureLayerARB as an alias ↵Jeremy Huddleston2011-06-201-1/+1
| | | | | | | | | | of FramebufferTextureLayerEXT FramebufferTextureLayer is an alias of FramebufferTextureLayerEXT, so FramebufferTextureLayerARB needs to be listed as an alias of FramebufferTextureLayerEXT rather than FramebufferTextureLayer. Signed-off-by: Jeremy Huddleston <[email protected]>
* linker: Reject shaders that use too many varyingsIan Romanick2011-06-201-5/+36
| | | | | | | | | | | | Previously it was up to the driver or later code generator to reject these shaders. It turns out that nobody did this. This will need changes to support geometry shaders. NOTE: This is a candidate for the stable branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37743 Reviewed-by: Kenneth Graunke <[email protected]>
* glw: Mark all extern symbols GLAPI to regain default visibility (#31294)Dan Nicholson2011-06-202-6/+6
| | | | | | | | | | | | | | | | | Since switching to hidden visibility on gcc, GLw apps were failing to link. Use the GLAPI definition to use default visibility where necessary. $ nm lib/libGLw.so | grep DrawingArea 0000000000004020 T GLwCreateMDrawingArea 0000000000003430 T GLwDrawingAreaMakeCurrent 0000000000003410 T GLwDrawingAreaSwapBuffers 0000000000204c60 D glwDrawingAreaClassRec 0000000000204d48 D glwDrawingAreaWidgetClass 00000000002053c0 D glwMDrawingAreaClassRec 00000000002054e0 D glwMDrawingAreaWidgetClass Signed-off-by: Dan Nicholson <[email protected]> Tested-by: justin <[email protected]>
* i965/gen6: Apply documented workaround for nonpipelined state packets.Eric Anholt2011-06-203-1/+45
| | | | | | Fixes a 100% reproducible GPU hang in topogun-1.06-orc-84k.trace. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/gen6: Limit the workaround flush to once per primitive.Eric Anholt2011-06-205-0/+16
| | | | | We're about to call this function in a bunch of state emits, so let's not spam the hardware with flushes too hard.
* i965/gen6: Use an BO instead of writing to address 0 for PIPE_CONTROL W/A.Eric Anholt2011-06-204-3/+23
| | | | | | | | This was spectacularly unsafe. On my system, address 0 happens to be the hardware status page for the render ring, and the first quadword of that happens to contain nothing we ever look at, but I sure didn't look forward to having to debug some day when, for example, the kernel happened to bind the ringbuffer before binding the hwsp.
* i965/gen6: Factor the PIPE_CONTROL workaround to a separate function.Eric Anholt2011-06-201-8/+21
| | | | | We're need this workaorund a lot more than we're currently doing, so let's reuse it.
* i965/gen6: Remove state flagging on BRW_NEW_CURBE_OFFSETS.Eric Anholt2011-06-203-6/+3
| | | | | | | | That flag was leftover from gen4, where brw_curbe.c is choosing ranges of the CURBE space for constants to live in, and the unit state tells where to load them from. That's not the case on gen6 -- we don't set this flag (since constants aren't in the URB), nor do we have any state like that to upload.
* i965/gen4: Remove old VS unit state key structure.Eric Anholt2011-06-201-12/+0
| | | | We're streaming VS state out now, not caching it.
* i965/gen6: Add missing state flag for VS push constants.Eric Anholt2011-06-201-1/+1
| | | | It was already annotated up above and everything.
* i965/gen6+: Correct gratuitous dependency on NEW_POLYGONSTIPPLE.Eric Anholt2011-06-202-6/+11
| | | | That flag is for the contents of the stipple, not the enable flag.
* i965/gen6+: Add a missing state flag for WM constants.Eric Anholt2011-06-202-3/+6
|
* wayland: Pass use_invalidate extension to driverKristian Høgsberg2011-06-202-2/+3
|
* egl_dri2/x11: Check availability of the dri2 extensionBenjamin Franzke2011-06-201-0/+9
| | | | | Do this before query versions, or xcb will shutdown and the connection can not be used for swrast.
* xorg/nouveau: rename to nouveau2Marcin Slusarz2011-06-202-8/+8
| | | | Signed-off-by: Marek Olšák <[email protected]>
* st/xorg: initialize drm_mode.typeMarcin Slusarz2011-06-201-0/+1
| | | | | | it's uninitialized, but used by kernel (drm_mode_setcrtc -> drm_mode_set_crtcinfo) Signed-off-by: Marek Olšák <[email protected]>
* st/xorg: add GALLIUM_AUXILIARIES to target dependenciesMarcin Slusarz2011-06-201-1/+1
| | | | | | Without it changes to GALLIUM_AUXILIARIES don't induce target rebuild Signed-off-by: Marek Olšák <[email protected]>
* gallium/nouveau: remove unused nouveau_screen_bo_userMarcin Slusarz2011-06-202-16/+0
|
* st/xorg: fix crash triggered by rendercheck -t composite -f a8r8g8b8 -o Src, ↵Marcin Slusarz2011-06-201-1/+1
| | | | | | Saturate samplers[0] may remain uninititialized if src picture/pixmap is null
* st/xorg: fix crash triggered by rendercheck -t blend -f a8r8g8b8 -o ClearMarcin Slusarz2011-06-201-2/+2
|
* r600g: implement seamless_cube_map on r600-r700Marek Olšák2011-06-203-7/+46
| | | | | st/mesa guarantees that all bound sampler states have the same value in seamless_cube_map.
* r600g: remove some magic numbersMarek Olšák2011-06-192-2/+13
|
* u_vbuf_mgr: make u_vbuf_mgr_draw_begin return flags in a bitmaskMarek Olšák2011-06-194-36/+36
|
* r600g: fix warning: assignment discards qualifiers from pointer target typeMarek Olšák2011-06-191-1/+2
|
* u_vbuf_mgr: fix uploading if format size is greater than strideMarek Olšák2011-06-191-0/+5
|
* i965: Enable extension GL_ARB_shader_texture_lod.Kenneth Graunke2011-06-181-0/+1
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36987 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for TXD with shadow comparisons.Kenneth Graunke2011-06-185-7/+76
| | | | | | | | | | | | | | Our hardware doesn't have a sample_d_c message, so we have to do a regular sample_d and emit instructions to manually perform the comparison. This requires a state dependent recompile whenever the sampler's compare mode or function change. This adds the per-sampler comparison functions to brw_wm_prog_key, but only sets them when the sampler's compare mode is GL_COMPARE_R_TO_TEXTURE (i.e. only for shadow sampling). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Refactor texture result swizzling into a helper function.Kenneth Graunke2011-06-182-9/+21
| | | | | | | The next patch will add a few additional uses. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Move sampler fetch to the top of the ir_texture visit function.Kenneth Graunke2011-06-181-6/+3
| | | | | | | | This makes it available earlier, which will soon be necessary. (Separating code motion from actual changes.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen4.Kenneth Graunke2011-06-182-2/+39
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen5/6.Kenneth Graunke2011-06-181-1/+31
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on Ivybridge.Kenneth Graunke2011-06-182-10/+43
| | | | | | | | | | This is somewhat ugly, but I couldn't think of a nicer way to handle the interleaved coordinate/derivative parameter loading. Ironlake and Sandybridge will still hit an assertion in visit(). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Check for compilation failure and bail before optimizing.Kenneth Graunke2011-06-181-0/+2
| | | | | | | | | | | | Prior to this patch, it would attempt to optimize and allocate registers for the program even if it failed to compile. This seems wasteful. More importantly, the "message length > 11" failure seems to choke the instruction scheduler, making it somehow use an undefined value and segmentation fault. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Use state streaming on programs, and state base address on gen5+.Eric Anholt2011-06-1826-298/+277
| | | | | | | | | | There will be a little bit of thrashing of the program cache BO as the cache warms up, but once the application is in steady state, this reduces relocations on gen5 and later. On my T420 laptop, cairogl firefox-talos-gfx performance improves 2.6% +/- 1.3% (n=6). No statistically significant performance difference on nexuiz (n=5).
* i965: Only flag the new-batch related state as dirty at new batch time.Eric Anholt2011-06-181-5/+1
| | | | | | This was debug code from the initial import of the driver. No statistically significant performance difference on cairo-gl or nexuiz (n=6).
* mesa: Fix render-to-texture regression.Eric Anholt2011-06-181-2/+2
| | | | | Accidentally introduced in fc8c4a3a7b92a1134cd3a9312063abba9e14b0fe. Fixes fbo-drawbuffers-maxtargets and friends.
* mesa: Flag _NEW_BUFFERS when unbinding an attachment on glDeleteTextures.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | The _ColorDrawBuffers[] wouldn't get updated despite us having updated what it depends on (Attachments[]->Renderbuffer). Other callers of _mesa_remove_attachment are already flagging _NEW_BUFFERS for other reasons. The specific bug report that led to this fix (and the fbo-finish-deleted testcase) was fixed by 23b6f9606dc247488835745668b3686218612536, though. Reviewed-by: Brian Paul <[email protected]>
* i965: Don't try to continue space before the start of a VBO.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | This loop is trying to see if all the buffers to be uploaded happen to be the same increment from the start of the 3DSTATE_VERTEX_BUFFERS currently loaded in the hardware. However, we might be at a smaller offset than the previous set of VERTEX_BUFFERS, so we can't reuse because that packet made the first entry be its starting offset (you can't access outside the given bounds). Fixes piglit ARB_vertex_buffer_object/elements-negative-offset.
* i965: Add missing state flag for vertex elements on current VS program.Eric Anholt2011-06-181-1/+2
| | | | Fixes a missing 3DSTATE_VERTEX_ELEMENTS on topogun.trace.