Commit Graph

28601 Commits

Author SHA1 Message Date
Luca Barbieri 83f4c444f4 nvfx: don't crash on empty fragment program 2010-03-23 15:41:10 +01:00
Luca Barbieri e14d812e15 nvfx: fix coding style in nvfx_transfer.c 2010-03-23 15:41:04 +01:00
Luca Barbieri a6cc9cf38d nvfx: stop incessantly spewing debug messages on the terminal
Currently we are continuously spewing messages about these variables
since we call debug_get_bool_option everytime we want to check their value.

This is annoying, slows things down due to terminal rerendering
and obscures useful messages.

This patch only calls debug_get_bool_option once and caches the result in a
static variable.
2010-03-23 15:40:41 +01:00
Luca Barbieri c652ad907f nvfx: fix/workaround nv3x hwtnl issues
This patch re-emits the viewport state on framebuffer or rasterizer
change.

This seems to be necessary on nv3x, but the reason is not fully
understood.

It is quite likely that this isn't really the correct fix, but seems
to work, and makes nv3x much better.
2010-03-23 15:40:34 +01:00
Luca Barbieri 3e17a5b047 dri: test whether the built drivers have unresolved symbols
This is a different approach to solving this problem that the patch
I previously posted, and unlike that, should not cause any problems.

Right now undefined symbols in DRI drivers will still allow the
build to succeed.

As a result, people modifying drivers they cannot test risk creating
unloadable drivers with no easy way of automatically avoiding it.

For instance, the modifications to nv50 for context transfers caused
such an issue recently.

Unfortunately, just adding -Wl,--no-undefined doesn't work, because
the DRI drivers depend on glapi symbols, but do not depend on
libGL.so.1

Adding -lGL is not the correct solution since DRI drivers are not loaded
just by libGL, but also by X and possibly by other clients.

So, this patch simply tries to build an executable linked to the DRI
driver and to libGL.
If the DRI driver contains any undefined symbols not satisfied by its
dependencies or by libGL, this will fail.

This solution does not alter the built drivers, and does not significantly
slow down the build process.

All classic DRI drivers as well as all the Gallium drivers with configure
options compiled successfully with this change.

Thanks to Xavier Chantry <chantry.xavier@gmail.com> and
Michel Daenzer <michel@daenzer.net> for helping with this.

Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
Acked-by: Brian Paul <brian.e.paul@gmail.com>
2010-03-23 15:28:59 +01:00
Marek Olšák 1f25eca311 radeong: fix build issue with libdrm < 2.4.19 2010-03-23 13:34:31 +01:00
Dave Airlie 2a3accbc00 r300g: fix glean occlusion query test 2010-03-23 19:12:33 +10:00
Kristian Høgsberg 7a0bcba9f9 glx: Suppress BadDrawable from DRI2CopyRegion
This can happen when an X window is destroyed behind our back.  We use
DRI2CopyRegion behind the scenes in many places (like flushing the fake
front to the real front) so we have to ignore X errors triggered in that
case.

The glean test cases trigger this consistently as they don't destroy the
GLX drawable nicely, they just destroy the X window.
2010-03-22 22:03:38 -04:00
Corbin Simpson d5b2cecb03 gallium/docs: Cleanup and clarify point ras info.
...This state's interdependent? Really? Needs moar cleanup.
2010-03-22 18:42:42 -07:00
Corbin Simpson ed61faec7e radeong: Always initialize this variable.
May or may not be responsible for slight increases in ipers FPS.
2010-03-22 18:42:42 -07:00
Corbin Simpson ca49a72a55 r300g: Cleanup a few old warnings.
Those paths aren't important anymore, and a debugging warning won't stop
a hardlock anyway.
2010-03-22 18:42:42 -07:00
Jesse Barnes 8f4f2a0c36 GLX/OML: honor OML semantics even if target, divisor and remainder are 0
This change passes a remainder of 1 to the server with the
DRI2SwapBuffers request, causing it to honor the OML semantics for the
swap rather than falling through to glXSwapBuffers behavior.  The
remainder actually ends up ignored since the divisor is 0, but we need
to differentiate the OML and standard behavior somehow.

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-22 16:41:17 -07:00
Eric Anholt d9ea1af82c i965: Add disasm for SNB MATH opcode. 2010-03-22 15:04:47 -07:00
Eric Anholt 10069916c7 i965: Enable normal clipping on SNB.
Rejecting all doesn't seem to be helping get the pipeline lit up.
2010-03-22 15:04:47 -07:00
Eric Anholt 7319b19fc9 i965: Force single program flow in SNB GS, to match gen4 GS. 2010-03-22 15:04:46 -07:00
Eric Anholt 073f8d1c00 i965: Correct copy and wasted field shifts for SNB GS URB. 2010-03-22 15:04:46 -07:00
Eric Anholt edc8a99d1d i965: Enable VS on SNB.
It appears that the thing that was killing VS threads was the
gratuitous NOP that replaced the gratuitous jump from OPCODE_END to
the nearby OPCODE_END implementation.  With that gone, we can move on
to the rest of the pipeline.
2010-03-22 15:04:46 -07:00
Eric Anholt d163d5fac0 i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.
Just emit the URB write at END time.  Subroutine code that sits after
OPCODE_END won't be executed since we've ended the thread at the point
that the URB write is done.
2010-03-22 15:04:46 -07:00
Eric Anholt a9acde6a72 i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.
Otherwise, we may not get the FFTID set up which would break freeing
of resources.
2010-03-22 15:04:46 -07:00
Eric Anholt 4fc5732225 i965: Allow FS constants to be used as immediates instead of push/pull.
The hope is to later take advantage of the reduced constant usage to
free up regs.  This only covers the GLSL path at the moment, because
the brw_wm_emit path doesn't get the information as to whether a float
value is a constant or a uniform.
2010-03-22 15:04:46 -07:00
Eric Anholt 864f2bd61d i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.
I keep finding the desire to force this path to debug it instead of
cooking up goofy-looking testcases to do so.
2010-03-22 15:04:46 -07:00
Eric Anholt 8a998342c6 i965: Optimize OPCODE_CMP by using BRW_SEL to choose results.
Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp.
2010-03-22 15:04:46 -07:00
Brian Paul ef2664da6c st/glx: fix depth/stencil format selection code
This fixes a pretty big performance regression caused by commit
3475e88442.

When the user does not request a stencil buffer it's important that we
don't use a depth/stencil format (or at least make it our last choice).
If the user calls glClear(GL_DEPTH_BUFFER_BIT) when we have a combined
depth/stencil buffer, that causes us to hit the clear_with_quad() path
which can be much, much slower than calling pipe_context::clear().

Also, try to use a shallower depth format before a deeper one.
2010-03-22 16:01:15 -06:00
Brian Paul af0b0e1172 st/mesa: rename st_framebuffer() to st_ws_framebuffer()
Be clear that this function is not just a cast wrapper.
2010-03-22 16:01:15 -06:00
Kristian Høgsberg 6422cf387b intel: Call intel_prepare_render() before looking up regions.
Fixes #27213.
2010-03-22 17:55:05 -04:00
Vinson Lee 262961ef69 st/mesa: Remove unnecessary headers. 2010-03-22 13:02:09 -07:00
Brian Paul f42acbeebf glslcompiler: fix build again
Simply use the libglapi.a archive instead of individual .o files.
Fixes the non-debug build.
2010-03-22 13:36:30 -06:00
Vinson Lee 45d1dc2607 cso: Remove unnecessary header. 2010-03-22 11:34:18 -07:00
Francisco Jerez fc14fb9d1a dri/nouveau: Rectangle texture fixes. 2010-03-22 18:41:23 +01:00
Francisco Jerez bfdea90f25 dri/nouveau: Some render to texture fixes. 2010-03-22 18:41:23 +01:00
Francisco Jerez 199fab25b7 dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same. 2010-03-22 18:41:23 +01:00
Francisco Jerez fe7d0e6dc8 dri/nouveau: Expose EXT_framebuffer_blit. 2010-03-22 18:41:22 +01:00
Francisco Jerez fc7890dc6c dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants. 2010-03-22 18:41:22 +01:00
Francisco Jerez c695e80017 dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.
Fixes broken intermediate frames when a window is being resized
(regression caused by 878eef8c4).
2010-03-22 18:41:22 +01:00
Luca Barbieri 4e3b950c70 nvfx: fix sampler views support
The code was half converted, resulting in texturing being totally broken.
2010-03-22 18:36:16 +01:00
Brian Paul 98b4e7aee8 glslcompiler: fix build breakage 2010-03-22 09:08:09 -06:00
Brian Paul 182c42c8da Merge branch '7.8'
Conflicts:

	src/gallium/drivers/cell/ppu/cell_screen.c
	src/mesa/state_tracker/st_cb_drawpixels.c
2010-03-22 09:07:46 -06:00
Brian Paul ca97f8b9ba glslcompiler: fix build breakage 2010-03-22 09:00:13 -06:00
Brian Paul 5cb4a3524b mesa: remove return, do as the comment says 2010-03-22 08:23:14 -06:00
Pauli Nieminen 361e8e9118 mesa: Add end of line to the end of a debug output. 2010-03-22 15:16:02 +02:00
Pauli Nieminen 4ea694a26b r200: Fix emit size prediction to account elt splitting.
Emit sizes prediction didn't account for render splitting in
hwtnl path.
2010-03-21 23:39:55 +02:00
Pauli Nieminen 0900544fb5 r200: Don't flush when closing elts in KMS.
Flush in middle of rendering in KMS is not allowed because
buffers are discarded in flush.

Fixes crash when emiting split indices with RADEON_DEBUG=all.
2010-03-21 23:39:53 +02:00
Marek Olšák 9fc6c8b831 r300g: disable tiling for YUV formats 2010-03-21 22:17:14 +01:00
Marek Olšák 8bf9842fac r300g: fix scons build 2010-03-21 22:05:27 +01:00
Marek Olšák 7733bac66c r300g: accelerate blitting for all 64-bit texture formats 2010-03-21 21:54:07 +01:00
Marek Olšák 12dc497173 r300g: add and enable square microtiling
It requires DRM 2.1.0 (e.g. kernel 2.6.34) and is disabled on older ones.

Finally, the texture tiling implementation is now complete. Uff.
2010-03-21 21:54:07 +01:00
Marek Olšák 33d2349119 r300g: cleanup tiling flags propagation 2010-03-21 21:54:06 +01:00
Marek Olšák d0d3abd360 r300g: put common defines into one file 2010-03-21 21:54:06 +01:00
Marek Olšák bc5778e202 r300g: remove unused code 2010-03-21 21:54:02 +01:00
Pauli Nieminen 1968d8f31d r200: Fix swtnl fallback to flush pending rendering before transition.
Flush after transition would emit wrong state that could cause
wrong state emited for pending rendering operation.

Fixes wan once from extrement tuxracer that is using per vertex
materials.
2010-03-21 20:27:49 +02:00