Roland Scheidegger [Tue, 18 May 2010 19:42:09 +0000 (21:42 +0200)]
docs: update differences to d3d11
Roland Scheidegger [Tue, 18 May 2010 19:41:15 +0000 (21:41 +0200)]
util: fix some leftover util_surface_fill/copy calls
Roland Scheidegger [Tue, 18 May 2010 16:03:37 +0000 (18:03 +0200)]
st/mesa: fix wrong argument order
Roland Scheidegger [Tue, 18 May 2010 14:20:44 +0000 (16:20 +0200)]
gallium: implement set_sample_mask() in all drivers
prevents segfault when state trackers try to set default mask.
Other option would be to make this required only for drivers
supporting multisampling, but this seems more clean.
Only dummy implementations (for normal drivers) provided (no driver
supports multisampling yet neither).
Roland Scheidegger [Mon, 17 May 2010 19:34:30 +0000 (21:34 +0200)]
st/egl: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:34:03 +0000 (21:34 +0200)]
st/dri: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:53 +0000 (21:33 +0200)]
st/glx: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:45 +0000 (21:33 +0200)]
st/wgl: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:37 +0000 (21:33 +0200)]
st/vega: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:33:27 +0000 (21:33 +0200)]
st/xorg: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:32:41 +0000 (21:32 +0200)]
st/python: adapt to interface changes
compile tested only.
Should probably change the python surface_copy/fill functions
also into resource_copy/fill_region functions and adapt the code
using them.
Roland Scheidegger [Mon, 17 May 2010 19:30:01 +0000 (21:30 +0200)]
svga: adapt to interface changes
might need further cleanup. Using surfaces internally just to be able to use
the existing code might cause unnecessary copies afaict.
Roland Scheidegger [Mon, 17 May 2010 19:29:17 +0000 (21:29 +0200)]
r300g: adapt to interface changes
might need further cleanup. Using surfaces internally for the u_blitter code
seems nonoptimal.
Roland Scheidegger [Mon, 17 May 2010 19:28:14 +0000 (21:28 +0200)]
nouveau: adapt to interface changes
this probably needs further cleanup (just getting a surface for the resource
seems quite nonoptimal and potentially cause unnecessary copies I think)
Roland Scheidegger [Mon, 17 May 2010 19:25:27 +0000 (21:25 +0200)]
fo: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:25:16 +0000 (21:25 +0200)]
identity: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:25:07 +0000 (21:25 +0200)]
trace: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:24:50 +0000 (21:24 +0200)]
i965g: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:24:04 +0000 (21:24 +0200)]
i915g: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:23:46 +0000 (21:23 +0200)]
softpipe: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:23:31 +0000 (21:23 +0200)]
llvmpipe: adapt to interface changes
Roland Scheidegger [Mon, 17 May 2010 19:22:23 +0000 (21:22 +0200)]
cell: adapt to interface changes
not even compile tested but fairly trivial
Roland Scheidegger [Mon, 17 May 2010 19:19:03 +0000 (21:19 +0200)]
mesa/st: adapt to interface changes
adapt to blit changes, and also handle a bit more msaa state in theory
(incomplete, doesn't handle resolves in any way for now).
Roland Scheidegger [Mon, 17 May 2010 19:15:20 +0000 (21:15 +0200)]
gallium/util: adapt util code to interface changes
The util blit functions change their interface (apart from some rename) too
(in particular util_blit_pixels now also takes a pipe_resource as the src blit
argument instead of a surface, as it might just call resource_copy_region).
Maybe the blit util code might need a bit more cleanup, it still doesn't feel
very clean. In particular it seems that util_blit_pixels_tex should probably
disappear, and I think it would be great if the code called by drivers for
blitting (u_blitter.c, which isn't really touched by this change) could somehow
be merged with the u_blit code.
Roland Scheidegger [Mon, 17 May 2010 19:02:24 +0000 (21:02 +0200)]
gallium: clean up resource_copy_region function
Previously, surface_copy was said to allow overlapping blits, and it was
"optional". However, some state trackers actually assumed it is always present,
and quite some code (like in u_blit) assumed overlapping isn't allowed.
Hence, resource_copy_region (and in the same spirit, resource_fill_region) is
now mandatory, but overlapping blits are no longer allowed. A driver can plug
in the cpu fallback util_resource_copy_region if it does not want to provide its
own implementation, though this is not optimal.
Roland Scheidegger [Mon, 17 May 2010 18:52:08 +0000 (20:52 +0200)]
gallium: another interface change for multisampling
due to popular request, use nr_samples parameter in is_format_supported()
instead of new is_msaa_supported() query.
This makes it easily possible to query if a format with a given sample count
is also supported not only as render target, but for sampler views (note that
texture sampling from multisampled resources isn't supported yet).
It is not quite how dx10 format msaa queries work, but we might need to revisit
format queries completely in the future anyway.
Brian Paul [Mon, 17 May 2010 17:43:43 +0000 (11:43 -0600)]
llvmpipe: fix front/back tri culling mix-up
Keith Whitwell [Fri, 14 May 2010 22:47:05 +0000 (23:47 +0100)]
draw: fix front/back error in unfilled pipeline stage
Keith Whitwell [Fri, 14 May 2010 22:46:43 +0000 (23:46 +0100)]
draw: fix typo checking for unfilled polygons
Keith Whitwell [Fri, 14 May 2010 19:36:08 +0000 (20:36 +0100)]
softpipe: restore culling code
Keith Whitwell [Fri, 14 May 2010 18:20:25 +0000 (19:20 +0100)]
gallium: more work on ccw flag removal
The linux-debug target builds...
Keith Whitwell [Fri, 14 May 2010 12:04:42 +0000 (13:04 +0100)]
gallium: convert rasterizer state to use gl-style front/back concepts
Use front/back instead of cw/ccw throughout.
Also, use offset_point/line/fill instead of offset_cw/ccw.
Brings gallium representation of this state into line with its main
user, and also what turns out to be the most common hardware
representation.
This fixes a long-standing bias in the interface towards the
architecture of the software rasterizer.
Keith Whitwell [Sat, 8 May 2010 13:16:46 +0000 (14:16 +0100)]
util: fix copy_rect stride in default transfer_inline_write
Kristian Høgsberg [Fri, 7 May 2010 02:01:35 +0000 (22:01 -0400)]
egl: Implement EGL_NOK_swap_region
This extension adds a new function which provides an alternative to
eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in
addition to those in eglSwapBuffers. The new parameters consist of a
pointer to a list of 4-integer blocks defining rectangles (x, y,
width, height) and an integer specifying the number of rectangles in
the list.
Marek Olšák [Thu, 13 May 2010 22:20:58 +0000 (00:20 +0200)]
r300g: fix for piglit/fp-indirections2
Brian Paul [Thu, 13 May 2010 19:41:49 +0000 (13:41 -0600)]
rtasm: fix void * / func * casting warnings
Brian Paul [Thu, 13 May 2010 19:35:17 +0000 (13:35 -0600)]
draw: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:34:24 +0000 (13:34 -0600)]
gallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:26:21 +0000 (13:26 -0600)]
llvmpipe: silence casting warnings
Brian Paul [Thu, 13 May 2010 19:25:29 +0000 (13:25 -0600)]
gallivm: silence casting warning
Brian Paul [Thu, 13 May 2010 19:24:21 +0000 (13:24 -0600)]
gallivm: silence uninitialized var warning
Brian Paul [Thu, 13 May 2010 19:21:37 +0000 (13:21 -0600)]
llvmpipe: silence uninitialized var warnings
Brian Paul [Thu, 13 May 2010 19:21:19 +0000 (13:21 -0600)]
llvmpipe: silence cast warnings in test programs
Brian Paul [Thu, 13 May 2010 16:24:10 +0000 (10:24 -0600)]
gallivm: added lp_dump_llvmtype() debug helper
Brian Paul [Thu, 13 May 2010 15:26:17 +0000 (09:26 -0600)]
llvmpipe: additional comments
Brian Paul [Wed, 12 May 2010 21:32:04 +0000 (15:32 -0600)]
gallivm: rename a var
Kristian Høgsberg [Thu, 13 May 2010 20:06:29 +0000 (16:06 -0400)]
egl: Allow a prioritized list of default drivers
When there is no user driver or any matching display drivers we fall
back to the default driver. This patch lets us have a list of default
drivers instead of just one. The drivers are loaded in turn and we
attempt to initialize the display. If it fails we unload the driver
and move on to the next one.
Compared to the display driver mechanism, this avoids loading a number
of drivers and then only using one. Also, we call Initialize to see
if the driver will work instead of relying on Probe. To know for sure
that a driver will work, Probe really have to do a full Initialize, so
we will just use Initialize directly.
Kristian Høgsberg [Thu, 13 May 2010 19:42:51 +0000 (15:42 -0400)]
egl_dri2: Downgrade initialization errors to warnings
Don't want to shutdown everything if egl_dri2 fails to initialize.
José Fonseca [Thu, 13 May 2010 20:14:07 +0000 (21:14 +0100)]
util: Fix ptr -> int conversion.
José Fonseca [Thu, 13 May 2010 20:03:08 +0000 (21:03 +0100)]
Conditionally revert "gallivm: Use a more compact approach for lp_build_broadcast_scalar()."
This reverts commit
a09e46c72461183c879d8472b44fe740ecc79b9f.
Eric Anholt [Thu, 13 May 2010 18:31:56 +0000 (11:31 -0700)]
i965: Reduce a single GL_QUADS to GL_TRIANGLE_FAN.
This is similar to the GL_QUAD_STRIP -> TRIANGLE_STRIP optimization --
the GS usage to split the quads into tris is a huge bottleneck, so a
quick check improves glean blendFunc time massively (width * height of
the window of single-pixel GL_QUADS, many many times). This may also
end up helping with cairo performance, which sometimes ends up drawing
a single quad.
Eric Anholt [Thu, 13 May 2010 17:13:52 +0000 (10:13 -0700)]
intel: Don't update window system renderbuffers on TexImage.
While sometimes rendering occurs in the form of blits for TexImage, it
doesn't interact with the window system renderbuffers, so skip it.
Eric Anholt [Wed, 5 May 2010 15:36:20 +0000 (08:36 -0700)]
mesa: Remove no-op wrappers around trig functions.
Eric Anholt [Wed, 5 May 2010 15:29:13 +0000 (08:29 -0700)]
mesa: Remove _mesa_pow(), which is always just pow().
Marek Olšák [Thu, 13 May 2010 18:32:08 +0000 (20:32 +0200)]
r300g: fix texture transfers
The regression has first shown up after this state tracker change:
b0427bedde80e3189524651a327235bdfddbc613.
FDO bug #28082.
Alan Hourihane [Thu, 13 May 2010 17:49:02 +0000 (18:49 +0100)]
mesa: silence compiler warning
José Fonseca [Thu, 13 May 2010 15:18:05 +0000 (16:18 +0100)]
llvmpipe: Update instructions for MSVC builds.
Kristian Høgsberg [Thu, 13 May 2010 12:59:47 +0000 (08:59 -0400)]
egl: Drop broken _EGL_PLATFORM_NO_OS code
It would do strlen(library_suffix()) in _eglLoaderFile(), with
library_suffix() returning NULL. So obviuosly not used or tested.
Kristian Høgsberg [Thu, 13 May 2010 12:27:37 +0000 (08:27 -0400)]
egl: Don't try to load driver basename if the platform needs a suffix
That is, don't dlopen(egl_glx) when we know we need to append .so.
Vinson Lee [Thu, 13 May 2010 08:47:31 +0000 (01:47 -0700)]
trace: Add missing header.
Fixes GCC implicit function declaration warning.
Vinson Lee [Thu, 13 May 2010 08:37:44 +0000 (01:37 -0700)]
st/mesa: Remove unnecessary header.
Vinson Lee [Thu, 13 May 2010 08:25:07 +0000 (01:25 -0700)]
gallium: Add tokens for Cygwin.
Vinson Lee [Thu, 13 May 2010 08:18:35 +0000 (01:18 -0700)]
trace: Remove unnecessary headers.
Marek Olšák [Thu, 13 May 2010 00:28:49 +0000 (02:28 +0200)]
r300g: re-order caps
Marek Olšák [Wed, 12 May 2010 23:45:57 +0000 (01:45 +0200)]
r300g: fill out the shader limits
Jakob Bornecrantz [Wed, 12 May 2010 22:07:17 +0000 (23:07 +0100)]
trace: Update README
Jakob Bornecrantz [Wed, 12 May 2010 22:06:54 +0000 (23:06 +0100)]
rbug: Update and add READMEs
Jakob Bornecrantz [Wed, 12 May 2010 21:48:32 +0000 (22:48 +0100)]
scons: Add -fvisibility=hidden to CFLAGS for gcc builds
Jakob Bornecrantz [Wed, 12 May 2010 21:47:15 +0000 (22:47 +0100)]
graw: Make functions public
Jakob Bornecrantz [Wed, 12 May 2010 20:11:39 +0000 (21:11 +0100)]
rbug: No need to have rbug as a input
José Fonseca [Mon, 10 May 2010 07:24:23 +0000 (08:24 +0100)]
gallivm: Ensure PIPE_OS_xxx are defined.
José Fonseca [Sun, 9 May 2010 21:31:18 +0000 (22:31 +0100)]
gallivm: Use a more compact approach for lp_build_broadcast_scalar().
It produces exactly the same machine code, but it cuts 5% of the
number of instructions generated for a typical shader.
Also, preserve the scalar when length is 1.
José Fonseca [Sun, 9 May 2010 20:18:14 +0000 (21:18 +0100)]
llvmpipe: Dump fs key's stencil state.
José Fonseca [Sun, 9 May 2010 20:17:46 +0000 (21:17 +0100)]
util: Add function to dump PIPE_STENCIL_OP_xxx
José Fonseca [Wed, 12 May 2010 19:04:11 +0000 (20:04 +0100)]
llvmpipe: Enable mem2reg pass even with LP_DEBUG=nopt.
Otherwise things start crashing.
Jakob Bornecrantz [Wed, 12 May 2010 19:11:37 +0000 (20:11 +0100)]
rbug: Add to all targets that link against trace
Also added calls to the create function in target helpers and in
tr_drm.c the latter being a hack and should be replaced with the
wrap screen target helper. But at least this way we don't regress.
Jakob Bornecrantz [Wed, 12 May 2010 18:26:19 +0000 (19:26 +0100)]
trace: Remove rbug from trace
Jakob Bornecrantz [Wed, 12 May 2010 17:55:53 +0000 (18:55 +0100)]
rbug: Use container of macro
Jakob Bornecrantz [Wed, 12 May 2010 17:55:42 +0000 (18:55 +0100)]
rbug: Fix draw blocking
Jakob Bornecrantz [Wed, 12 May 2010 14:33:40 +0000 (15:33 +0100)]
rbug: Fix sampler views and surfaces in context info
Jakob Bornecrantz [Wed, 12 May 2010 13:38:20 +0000 (14:38 +0100)]
rbug: Fix shaders
Jakob Bornecrantz [Tue, 4 May 2010 11:06:37 +0000 (12:06 +0100)]
rbug: Break out of trace
Brian Paul [Wed, 12 May 2010 18:41:53 +0000 (12:41 -0600)]
gallivm: additional comments
Brian Paul [Wed, 12 May 2010 18:12:08 +0000 (12:12 -0600)]
llvmpipe: s/bool/boolean/ in test progs
Brian Paul [Wed, 12 May 2010 18:10:55 +0000 (12:10 -0600)]
gallivm: s/bool/boolean
Brian Paul [Wed, 12 May 2010 17:17:34 +0000 (11:17 -0600)]
gallivm: rename vars, update comments, etc
Kristian Høgsberg [Wed, 12 May 2010 18:34:55 +0000 (14:34 -0400)]
egl_dri2: Zero out driver struct
Otherwise testing ->Probe for non-NULL and calling it goes boom.
Corbin Simpson [Wed, 12 May 2010 17:14:02 +0000 (10:14 -0700)]
r300g: Correct viewport setup for SW TCL.
glxgears now renders in the right place on-screen, although it is still
rather...psychedelic.
Corbin Simpson [Wed, 12 May 2010 17:10:54 +0000 (10:10 -0700)]
r300g: Add VBO dumper for SW TCL.
Commented out, not easily enabled. *Very* noisy.
Corbin Simpson [Wed, 12 May 2010 17:09:50 +0000 (10:09 -0700)]
r300g: Immediate mode won't work with SW TCL right now.
This could be done later of course. SW TCL should have a much different
threshold because it's much more worth it.
Corbin Simpson [Wed, 12 May 2010 17:09:28 +0000 (10:09 -0700)]
r300g: Fix indentation.
Brian Paul [Wed, 12 May 2010 16:54:45 +0000 (10:54 -0600)]
gallivm: comment out LLVMUnionTypeKind case
Brian Paul [Wed, 12 May 2010 16:36:11 +0000 (10:36 -0600)]
gallivm: rename texel result param
Be clear that this parameter returns four texel channel results.
Brian Paul [Wed, 12 May 2010 16:20:50 +0000 (10:20 -0600)]
gallivm: add a few comments
Brian Paul [Wed, 12 May 2010 16:20:03 +0000 (10:20 -0600)]
gallivm/llvmpipe: add const qualifiers
Brian Paul [Wed, 12 May 2010 16:04:48 +0000 (10:04 -0600)]
gallivm: added lp_typekind_name() util function
Brian Paul [Wed, 12 May 2010 15:41:41 +0000 (09:41 -0600)]
tgsi: also count instructions in tgsi_scan_shader()
José Fonseca [Wed, 12 May 2010 16:25:17 +0000 (17:25 +0100)]
llvmpipe: Handle PIPE_CAP_GUARD_*.
Without asserting.
José Fonseca [Wed, 12 May 2010 16:24:34 +0000 (17:24 +0100)]
llvmpipe: Use RAST_WHOLE/EDGE_TEST in more places.
José Fonseca [Wed, 12 May 2010 16:12:59 +0000 (17:12 +0100)]
llvmpipe: Move the opaque flag computation into the variant.