mesa.git
14 years agogallivm: Don't use reciprocate in lp_build_sample_wrap_linear().
José Fonseca [Wed, 2 Jun 2010 11:51:38 +0000 (12:51 +0100)]
gallivm: Don't use reciprocate in lp_build_sample_wrap_linear().

Always clamp the scaled coordinates.

14 years agogallivm: Avoid fp arithmetic in lp_build_sample_wrap_nearest().
José Fonseca [Wed, 2 Jun 2010 10:25:27 +0000 (11:25 +0100)]
gallivm: Avoid fp arithmetic in lp_build_sample_wrap_nearest().

14 years agogallivm: Don't use lp_build_sample_wrap_nearest()
José Fonseca [Wed, 2 Jun 2010 09:57:27 +0000 (10:57 +0100)]
gallivm: Don't use lp_build_sample_wrap_nearest()

Always clamp with scaled coordinates.

14 years agollvmpipe: Centralize all position interpolation in lp_bld_interp.c.
José Fonseca [Wed, 2 Jun 2010 08:56:05 +0000 (09:56 +0100)]
llvmpipe: Centralize all position interpolation in lp_bld_interp.c.

14 years agor300g: use the stored GEM domain in add_buffer/write_reloc
Marek Olšák [Wed, 2 Jun 2010 05:00:37 +0000 (07:00 +0200)]
r300g: use the stored GEM domain in add_buffer/write_reloc

I admit blitting to/from GTT is actually enforced in this commit,
texture transfers are now damned fast!

14 years agor300g: store the GEM domain in buffer and texture structs
Marek Olšák [Wed, 2 Jun 2010 04:45:00 +0000 (06:45 +0200)]
r300g: store the GEM domain in buffer and texture structs

14 years agor300g: use r300_buffer_domain everywhere
Marek Olšák [Wed, 2 Jun 2010 04:25:02 +0000 (06:25 +0200)]
r300g: use r300_buffer_domain everywhere

14 years agor300g: blit directly to/from GTT when transfering textures
Marek Olšák [Wed, 2 Jun 2010 04:07:53 +0000 (06:07 +0200)]
r300g: blit directly to/from GTT when transfering textures

14 years agor300g: let the driver determine the GEM domain for buffer_create
Marek Olšák [Wed, 2 Jun 2010 03:50:58 +0000 (05:50 +0200)]
r300g: let the driver determine the GEM domain for buffer_create

14 years agor300g: make texture transfers more pipelined
Marek Olšák [Wed, 2 Jun 2010 01:49:43 +0000 (03:49 +0200)]
r300g: make texture transfers more pipelined

Mostly based on Michel Dänzer's patch.

14 years agor300g: better describe another flush and move it closer to the real problem
Marek Olšák [Tue, 1 Jun 2010 22:49:24 +0000 (00:49 +0200)]
r300g: better describe another flush and move it closer to the real problem

I haven't been able to get rid of this one, see the comments in the code.

14 years agor300g: remove one flush
Marek Olšák [Tue, 1 Jun 2010 22:44:09 +0000 (00:44 +0200)]
r300g: remove one flush

Looks like it's not needed now.

14 years agollvmpipe: Obey color interpolation.
José Fonseca [Tue, 1 Jun 2010 20:29:01 +0000 (21:29 +0100)]
llvmpipe: Obey color interpolation.

Don't force color to be linearly interpolated when that's not being
requested.

14 years agollvmpipe: Use struct lp_shader_input in the interpolator.
José Fonseca [Tue, 1 Jun 2010 20:27:18 +0000 (21:27 +0100)]
llvmpipe: Use struct lp_shader_input in the interpolator.

Eliminates all this identical yet slightly different code to decide how
shader inputs should be interpolated.

As bonus, don't interpolate the position twice when it is listed in the
TGSI shader inputs.

14 years agointel: Fallback to meta if we're asked to CopyTexImage2D from RGB to RGBA
Kristian Høgsberg [Tue, 1 Jun 2010 18:33:43 +0000 (14:33 -0400)]
intel: Fallback to meta if we're asked to CopyTexImage2D from RGB to RGBA

The pixel transfer rules state that we must set alpha to 1.0 in this case
which we can't easily do with the blitter.  We can do to passes: one that
sets the alpha to 0xff and one that copies the RGB bits or we can just
use the 3D engine.  Neither approach seems worth it for this case.

14 years agost/xorg, vmware: Make throttling configurable.
Thomas Hellstrom [Mon, 31 May 2010 19:34:59 +0000 (20:34 +0100)]
st/xorg, vmware: Make throttling configurable.

The xorg state tracker gets two new options to let the user choose
whether to enable / disable dirty throttling and swapbuffer throttling.
The default value of these options are enabled, unless the winsys
supplies a customizer with other values. The customizer record has been
extended to allow this, and also to set winsys-based throttling on a per-
context basis.

The vmware part of this patch disables the dirty throttling if the kernel
supports command submission throttling, and also in that case sets kernel
based throttling for everything but swapbuffers. The vmware winsys does not
set throttling per context, even if it theoretically could, but instead
sets throttling per screen. This should perhaps be changed, should the
xorg state tracker start to use multiple rendering contexts. Kernel throttling
is off by default for all new screens/contexts, so the dri state tracker
is not affected.

This significantly improves interactivity of the vmware xorg driver.

Cherry-picked from commit a8f3b3f88acc1f0193fa740e76e9d815f07f32ab

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
14 years agosvga: Add a winsys callback to get the svga_winsys_context
Thomas Hellstrom [Mon, 31 May 2010 21:03:56 +0000 (22:03 +0100)]
svga: Add a winsys callback to get the svga_winsys_context

The winsys may need to extract the svga_winsys_context from a
pipe_context. Add a function to enable that functionality.

Cherry-picked from commit e8a8c5e339dfd7a36bb6435fd34175482b9187b8

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
14 years agotgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan.
José Fonseca [Tue, 1 Jun 2010 15:37:32 +0000 (16:37 +0100)]
tgsi: Drop uses_fogcoord and uses_frontfacing from tgsi_scan.

It was not used anywhere; the code was buggy (it didn't take care of
indirect registers and could potential cause buffer underflows) and the
same effect can now be easily achieved by just by looking at
input_semantic_name[] and input_usage_mask[].

14 years agotgsi: Remove tgsi-instruction-set.txt.
José Fonseca [Tue, 1 Jun 2010 15:30:24 +0000 (16:30 +0100)]
tgsi: Remove tgsi-instruction-set.txt.

Deprecated by tgsi.rst, and no point in keeping it around if it's not
being updated.

14 years agollvmpipe: Don't waste time interpolating unused input channels.
José Fonseca [Tue, 1 Jun 2010 15:28:45 +0000 (16:28 +0100)]
llvmpipe: Don't waste time interpolating unused input channels.

14 years agotgsi: Determine which shader input channels are effectively.
José Fonseca [Tue, 1 Jun 2010 15:27:36 +0000 (16:27 +0100)]
tgsi: Determine which shader input channels are effectively.

TGSI's UsageMask flag is never set. We can move this logic into
tgsi_ureg, but there there are still cases where's not used, so this
seems a better place for now.

14 years agogallium/docs: Update FRAC -> FRC.
José Fonseca [Tue, 1 Jun 2010 15:25:05 +0000 (16:25 +0100)]
gallium/docs: Update FRAC -> FRC.

14 years agomesa: use split_location_offset() in GetUniform() functions
Brian Paul [Tue, 1 Jun 2010 15:02:07 +0000 (09:02 -0600)]
mesa: use split_location_offset() in GetUniform() functions

Commit 5d0e136eff54a34258b5adaeda4cb267831e8234 exposed a long-standing
bug in the glGetUniform*() code paths.  We weren't properly decoding
the location parameter.

Fixes fd.o bug/regression 28344

Note: this patch should go into the 7.8 branch after the above-mentioned
commit.

14 years agost/xorg: Fix Xv cliprect scaling.
Thomas Hellstrom [Sat, 13 Mar 2010 19:25:29 +0000 (20:25 +0100)]
st/xorg: Fix Xv cliprect scaling.

Due to a quantization error, different cliprects of scaled video windows may
not have identical x / y scale.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agost/xorg Avoid advertizing rotation / reflection support.
Thomas Hellstrom [Sat, 6 Mar 2010 14:48:48 +0000 (15:48 +0100)]
st/xorg Avoid advertizing rotation / reflection support.

We don't support it yet since we don't implement the shadow allocate
functions.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
14 years agovgapi: Generate PIC objects.
Chia-I Wu [Mon, 31 May 2010 23:30:50 +0000 (07:30 +0800)]
vgapi: Generate PIC objects.

Fixes "...; recompile with -fPIC" error on x86-64.  See fdo 28336.

14 years agoglapi: Generate PIC objects.
José Fonseca [Mon, 31 May 2010 21:11:38 +0000 (22:11 +0100)]
glapi: Generate PIC objects.

Fixes fdo 28336.

14 years agollvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set.
José Fonseca [Mon, 31 May 2010 19:01:29 +0000 (20:01 +0100)]
llvmpipe: Show fs's TGSI when LP_DEBUG=tgsi is set.

14 years agost/egl: Use stamps only to avoid unnecessary geometry update.
Chia-I Wu [Mon, 31 May 2010 11:59:57 +0000 (19:59 +0800)]
st/egl: Use stamps only to avoid unnecessary geometry update.

resource_surface_add_resources should still be called even when the
stamps match.  For example, a caller may ask for two different sets of
attachments.

14 years agomesa: Fix excess initializers in get.c table.
Chia-I Wu [Mon, 31 May 2010 09:35:02 +0000 (17:35 +0800)]
mesa: Fix excess initializers in get.c table.

14 years agoswrast: add TFP support to swrast.
Dave Airlie [Sun, 23 May 2010 12:10:04 +0000 (22:10 +1000)]
swrast: add TFP support to swrast.

This adds TFP support to the swrast driver, with this I can run gnome-shell inside Xephyr slowly. I've no idea why I did it, and g-s has other rendering issues under swrast, but it might be useful to hook up llvmpipe later. I've no idea if I even want to commit it at this point.

An enhanced version might just pass the pointer in the indirect rendering case
and avoid the memcpy.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agogallium: fix TFP on gallium
Dave Airlie [Mon, 31 May 2010 09:24:50 +0000 (19:24 +1000)]
gallium: fix TFP on gallium

This fixes an uninitialised value use in the dri2 st when doing TFP.

It uses the driContextPriv which isn't initialised at alloc time.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agost/egl: Update KMS backend to use resource_surface.
Chia-I Wu [Mon, 31 May 2010 08:51:10 +0000 (16:51 +0800)]
st/egl: Update KMS backend to use resource_surface.

14 years agost/egl: Update GDI backend to use resource_surface.
Chia-I Wu [Mon, 31 May 2010 08:19:00 +0000 (16:19 +0800)]
st/egl: Update GDI backend to use resource_surface.

14 years agost/egl: Update ximage backend to use resource_surface.
Chia-I Wu [Mon, 31 May 2010 07:58:23 +0000 (15:58 +0800)]
st/egl: Update ximage backend to use resource_surface.

14 years agost/egl: Add helper functions for use by backends.
Chia-I Wu [Mon, 31 May 2010 07:26:46 +0000 (15:26 +0800)]
st/egl: Add helper functions for use by backends.

There is only resource_surface for now.  It helps manage the resources
of a software-based native surface such as XImage or GDI.

14 years agointel: Initialize batch->reserved_space on allocation
Chris Wilson [Mon, 31 May 2010 08:58:25 +0000 (09:58 +0100)]
intel: Initialize batch->reserved_space on allocation

Fixes the assert (and buffer overrun):

  glknots: intel_batchbuffer.c:164: _intel_batchbuffer_flush: Assertion
  'used >= batch->buf->size' failed.

Reported in bug:

  Bug 28274 - xscreensaver's glknots hangs GPU (945GME/Pineview)
  https://bugs.freedesktop.org/show_bug.cgi?id=28274

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
14 years agotargets/egl: Add SConscript for egl-apis.
Chia-I Wu [Mon, 31 May 2010 04:38:44 +0000 (12:38 +0800)]
targets/egl: Add SConscript for egl-apis.

It will build api_OpenVG.dll on Windows.

14 years agost/vega: Use SConscript for Windows build.
Chia-I Wu [Mon, 31 May 2010 04:38:21 +0000 (12:38 +0800)]
st/vega: Use SConscript for Windows build.

Fix several portability issues and add SConscript for Windows build.

14 years agogallium/util: Define isfinite and isnan for MSVC.
Chia-I Wu [Mon, 31 May 2010 05:01:46 +0000 (13:01 +0800)]
gallium/util: Define isfinite and isnan for MSVC.

Define isfinite and isnan to _finite and _isnan respectively for MSVC.
Those macros are needed by st/vega.

14 years agomapi/vgapi: Add SConscript for Windows build.
Chia-I Wu [Mon, 31 May 2010 04:37:23 +0000 (12:37 +0800)]
mapi/vgapi: Add SConscript for Windows build.

14 years agost/egl: Use OS-specific module suffices.
Chia-I Wu [Mon, 31 May 2010 04:32:30 +0000 (12:32 +0800)]
st/egl: Use OS-specific module suffices.

At least, .dll is used on Windows.

14 years agotargets/egl: Add SConscript for egl_gdi_swrast.
Chia-I Wu [Mon, 31 May 2010 04:17:27 +0000 (12:17 +0800)]
targets/egl: Add SConscript for egl_gdi_swrast.

egl_gdi_swrast uses st/egl/gdi and winsys/sw/gdi to provide an EGL
driver for Windows.

14 years agost/egl: Add GDI backend.
Chia-I Wu [Mon, 31 May 2010 04:03:39 +0000 (12:03 +0800)]
st/egl: Add GDI backend.

The backend uses Windows GDI driver to provide a software EGL
implementation on Windows.

14 years agoegl: Use SConscript for Windows build.
Chia-I Wu [Mon, 31 May 2010 03:47:58 +0000 (11:47 +0800)]
egl: Use SConscript for Windows build.

Fix several portability issues and add SConscript for Windows build.

14 years agoegl: Use khronos types for EGL_MESA_screen_surface.
Chia-I Wu [Mon, 31 May 2010 03:19:26 +0000 (11:19 +0800)]
egl: Use khronos types for EGL_MESA_screen_surface.

That is, use khronos_uint32_t instead of uint32_t.

14 years agoDefine PUBLIC to dllexport on MSVC.
Chia-I Wu [Mon, 31 May 2010 03:15:06 +0000 (11:15 +0800)]
Define PUBLIC to dllexport on MSVC.

Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined.

14 years agoUpdate KHRONOS_APICALL for _WIN32 platform.
Chia-I Wu [Mon, 31 May 2010 03:03:48 +0000 (11:03 +0800)]
Update KHRONOS_APICALL for _WIN32 platform.

Use __declspec(dllexport) when KHRONOS_DLL_EXPORTS is defined.

14 years agoAlways define int32_t in compiler headers.
Chia-I Wu [Mon, 31 May 2010 02:58:47 +0000 (10:58 +0800)]
Always define int32_t in compiler headers.

eglplatform.h no longer defines int32_t.

14 years agoglapi: Update SConscript for Windows.
Chia-I Wu [Mon, 31 May 2010 02:52:23 +0000 (10:52 +0800)]
glapi: Update SConscript for Windows.

Define macros to enable dllexport and thread support.  Adjust the output
path of mapi sources.

14 years agoUpdate OpenGL ES headers.
Chia-I Wu [Mon, 31 May 2010 02:15:55 +0000 (10:15 +0800)]
Update OpenGL ES headers.

14 years agoautoconf: Remove unused APIS.
Chia-I Wu [Mon, 31 May 2010 02:25:22 +0000 (10:25 +0800)]
autoconf: Remove unused APIS.

It was used by glapi, which has been moved to mapi.

14 years agomesa: Fix/add feature test to shader.c.
Chia-I Wu [Mon, 31 May 2010 02:36:51 +0000 (10:36 +0800)]
mesa: Fix/add feature test to shader.c.

Those macros used by _mesa_init_shader_dispatch are not available when
FEATURE_GL is not defined.

14 years agor300g: set correct pitch in libdrm
Marek Olšák [Mon, 31 May 2010 02:01:56 +0000 (04:01 +0200)]
r300g: set correct pitch in libdrm

to match what DDX sets. This prevents some flushes from occuring.

14 years agor300g: remove texture usage transfer flag
Marek Olšák [Mon, 31 May 2010 00:25:14 +0000 (02:25 +0200)]
r300g: remove texture usage transfer flag

14 years agor600g: remove unused struct r600_state
Marek Olšák [Sat, 29 May 2010 13:40:51 +0000 (15:40 +0200)]
r600g: remove unused struct r600_state

What was the purpose of it?

14 years agovbo: Remove unnecessary header.
Vinson Lee [Sun, 30 May 2010 22:47:21 +0000 (15:47 -0700)]
vbo: Remove unnecessary header.

14 years agor600g: Remove unnecessary headers.
Vinson Lee [Sun, 30 May 2010 22:30:05 +0000 (15:30 -0700)]
r600g: Remove unnecessary headers.

14 years agor600g: RS880 is r6xx-based
Alex Deucher [Sun, 30 May 2010 20:07:56 +0000 (16:07 -0400)]
r600g: RS880 is r6xx-based

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
14 years agollvmpipe: Remove unused framebuffer stuff from the rasterizer.
José Fonseca [Thu, 27 May 2010 15:38:02 +0000 (16:38 +0100)]
llvmpipe: Remove unused framebuffer stuff from the rasterizer.

14 years agollvmpipe: Don't force a linear to tiled conversion after rasterization on debug builds.
José Fonseca [Thu, 27 May 2010 15:34:20 +0000 (16:34 +0100)]
llvmpipe: Don't force a linear to tiled conversion after rasterization on debug builds.

Only do this if runtime debugging flags to show subtiles/tiles are set.

14 years agollvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.
José Fonseca [Thu, 27 May 2010 15:17:06 +0000 (16:17 +0100)]
llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.

Like the other places.

14 years agoutil: Add inline function for approximate floating point comparison.
José Fonseca [Thu, 27 May 2010 15:16:11 +0000 (16:16 +0100)]
util: Add inline function for approximate floating point comparison.

14 years agollvmpipe: Use pointer_to_func() instead of custom wrappers.
José Fonseca [Sun, 30 May 2010 15:38:23 +0000 (16:38 +0100)]
llvmpipe: Use pointer_to_func() instead of custom wrappers.

14 years agodraw: Use pointer_to_func() instead of custom wrappers.
José Fonseca [Sun, 30 May 2010 15:38:03 +0000 (16:38 +0100)]
draw: Use pointer_to_func() instead of custom wrappers.

14 years agoutil: Generic pointer to func conversion helper.
José Fonseca [Sun, 30 May 2010 15:36:08 +0000 (16:36 +0100)]
util: Generic pointer to func conversion helper.

That observes strict-aliasing rules.

14 years agollvmpipe: Pass the fs variant to the rasterizer.
José Fonseca [Wed, 26 May 2010 14:11:17 +0000 (15:11 +0100)]
llvmpipe: Pass the fs variant to the rasterizer.

14 years agopython/retrace: Interpret resource_copy_region.
José Fonseca [Sat, 29 May 2010 13:57:52 +0000 (14:57 +0100)]
python/retrace: Interpret resource_copy_region.

14 years agost/python: Expose region_copy/fill_region instead of deprecated surface_copy/fill
José Fonseca [Sat, 29 May 2010 13:57:35 +0000 (14:57 +0100)]
st/python: Expose region_copy/fill_region instead of deprecated surface_copy/fill

14 years agost/vega: Use FREE.
Chia-I Wu [Fri, 28 May 2010 05:07:34 +0000 (13:07 +0800)]
st/vega: Use FREE.

Match MALLOC with FREE.  Otherwise, it causes weird segfaults when built
with memory debugging.

14 years agost/egl: Hook eglCreatePbufferFromClientBuffer.
Chia-I Wu [Sun, 30 May 2010 02:58:06 +0000 (10:58 +0800)]
st/egl: Hook eglCreatePbufferFromClientBuffer.

This is some refactoring works.  Creating a pbuffer from an
EGL_OPENVG_IMAGE is still not supported.

14 years agost/egl: Fix eglCopyBuffers.
Chia-I Wu [Sun, 30 May 2010 03:01:21 +0000 (11:01 +0800)]
st/egl: Fix eglCopyBuffers.

It was broken since surface_copy -> resource_copy_region transition.

14 years agost/egl: Initialize KMS backend from an fd.
Chia-I Wu [Sun, 30 May 2010 02:21:09 +0000 (10:21 +0800)]
st/egl: Initialize KMS backend from an fd.

Check if the native native is EGL_DEFAULT_DISPLAY.  If not, treat it as
an fd.

14 years agor300: fix blits for textures of width/height greater than 2048 on r5xx
Marek Olšák [Sat, 29 May 2010 15:39:51 +0000 (17:39 +0200)]
r300: fix blits for textures of width/height greater than 2048 on r5xx

Yes I am fixing r300c ... who knew?

14 years agor600g: remove unused variable
Marek Olšák [Sat, 29 May 2010 13:40:23 +0000 (15:40 +0200)]
r600g: remove unused variable

14 years agor600g: fix gallium function parameters
Marek Olšák [Sat, 29 May 2010 13:39:51 +0000 (15:39 +0200)]
r600g: fix gallium function parameters

14 years agor600g: make a local copy of viewport state
Marek Olšák [Sat, 29 May 2010 13:27:42 +0000 (15:27 +0200)]
r600g: make a local copy of viewport state

14 years agoi915g: Rename winsys c file
Jakob Bornecrantz [Sat, 29 May 2010 11:31:30 +0000 (13:31 +0200)]
i915g: Rename winsys c file

14 years agoi915g: Move pci id to winsys struct
Jakob Bornecrantz [Sat, 29 May 2010 11:29:44 +0000 (13:29 +0200)]
i915g: Move pci id to winsys struct

14 years agotargets/egl: Give egl targets a good build enviroment
Jakob Bornecrantz [Sat, 29 May 2010 09:39:52 +0000 (11:39 +0200)]
targets/egl: Give egl targets a good build enviroment

14 years agoegl_dri2: Split driver loading out into its own function
Kristian Høgsberg [Fri, 28 May 2010 20:16:12 +0000 (16:16 -0400)]
egl_dri2: Split driver loading out into its own function

14 years agoegl_dri2: Check for xcb_connect() failure the right way
Kristian Høgsberg [Fri, 28 May 2010 19:50:11 +0000 (15:50 -0400)]
egl_dri2: Check for xcb_connect() failure the right way

It always returns a valid xcb_connection_t, but if connection failed, it's in the
error state.

14 years agor600g: fix build
Marek Olšák [Sat, 29 May 2010 00:30:52 +0000 (02:30 +0200)]
r600g: fix build

14 years agoi965: Add cache unit -> bo name mapping for more gen6 state objects.
Eric Anholt [Fri, 28 May 2010 19:50:55 +0000 (12:50 -0700)]
i965: Add cache unit -> bo name mapping for more gen6 state objects.

This will help in bufmgr debugging and aub dumping.

14 years agoi965: fix PIPE_CONTROL command for gen6.
Zou Nan hai [Tue, 18 May 2010 08:22:40 +0000 (16:22 +0800)]
i965: fix PIPE_CONTROL command for gen6.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
14 years agollvmpipe: add PIPE_BUFFER to assertion
Brian Paul [Fri, 28 May 2010 19:31:23 +0000 (13:31 -0600)]
llvmpipe: add PIPE_BUFFER to assertion

Fixes regression from commit f2e05acac931889e0820e1cc5d7ea810048a6b5f.

14 years agosoftpipe: add PIPE_BUFFER to assertion
Brian Paul [Fri, 28 May 2010 19:30:21 +0000 (13:30 -0600)]
softpipe: add PIPE_BUFFER to assertion

Fixes regression from commit f2e05acac931889e0820e1cc5d7ea810048a6b5f.

14 years agollvmpipe: add out of memory checking to triangle setup path
Brian Paul [Fri, 28 May 2010 18:49:49 +0000 (12:49 -0600)]
llvmpipe: add out of memory checking to triangle setup path

14 years agoglsl: change uniform location/offset encoding
Brian Paul [Fri, 28 May 2010 18:52:34 +0000 (12:52 -0600)]
glsl: change uniform location/offset encoding

This lets Mesa work like other OpenGL implementations with regard
to indexing uniform arrays.  See comments for details.

Note: this is a candidate for the 7.8 branch.

14 years agor300g: remove unnecessary breaks
Marek Olšák [Fri, 28 May 2010 00:57:32 +0000 (02:57 +0200)]
r300g: remove unnecessary breaks

14 years agor300g: report vertex format support in is_format_supported
Marek Olšák [Fri, 28 May 2010 00:53:47 +0000 (02:53 +0200)]
r300g: report vertex format support in is_format_supported

14 years agost/mesa: advertise ARB_half_float_vertex when available
Marek Olšák [Tue, 25 May 2010 23:54:58 +0000 (01:54 +0200)]
st/mesa: advertise ARB_half_float_vertex when available

Both softpipe and llvmpipe pass the piglit half float test.

14 years agor300g/swtcl: fix WPOS
Marek Olšák [Thu, 27 May 2010 23:39:27 +0000 (01:39 +0200)]
r300g/swtcl: fix WPOS

There you are! r300->viewport_state is undefined when using SW TCL.

Piglit score (r300g.tests):
HW TCL: 231/275
SW TCL: 233/275

14 years agor300g/swtcl: avoid an infinite loop if an occl. query doesn't return anything
Marek Olšák [Thu, 27 May 2010 22:04:05 +0000 (00:04 +0200)]
r300g/swtcl: avoid an infinite loop if an occl. query doesn't return anything

14 years agor600g: disable rendering
Jerome Glisse [Thu, 27 May 2010 21:21:12 +0000 (23:21 +0200)]
r600g: disable rendering

Disable rendering to avoid GPU lockup.
Use radeondb to debug shader compiler :
radeondb -c gallium.bof
radeondb -s gallium.json
Will print shader generated, best is to use fp demos to test
the compiler.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: various fixes
Bas Nieuwenhuizen [Wed, 19 May 2010 16:46:45 +0000 (18:46 +0200)]
r600g: various fixes

- enabled flushing a buffer more than once
- enabled the blitter for r600_clear
- added some more colors to r600_is_format_supported (copied from r600_conv_pipe_format)
- r600_set_framebuffer_state now sets rctx->fb_state
- more states are saved before a blit (had to add some accounting for the viewport and the vertex elements state)
- fixed a few errors with reference counting

14 years agor600g: fix driver + shader compiler backend change
Jerome Glisse [Thu, 27 May 2010 20:55:18 +0000 (22:55 +0200)]
r600g: fix driver + shader compiler backend change

Change the way we translate from c_compiler to the
asic specific representation. Should make things
simpler.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: Integrate into build
Jakob Bornecrantz [Thu, 13 May 2010 19:29:18 +0000 (20:29 +0100)]
r600g: Integrate into build

Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agor600g: Fix buffer offsets
Jakob Bornecrantz [Thu, 13 May 2010 19:27:19 +0000 (20:27 +0100)]
r600g: Fix buffer offsets

Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agor600g: adapt to latest interfaces changes
Marek Olšák [Mon, 10 May 2010 01:27:58 +0000 (03:27 +0200)]
r600g: adapt to latest interfaces changes

- Wrapped the buffer and texture create/destroy/transfer/... functions
  using u_resource, which is then used to implement the resource functions.
- Implemented texture transfers.
  I left the buffer and texture transfers separate because one day we'll
  need a special codepath for textures.
- Added index_bias to the draw_*elements functions.
- Removed nonexistent *REP and *FOR instructions.
- Some pipe formats have changed channel ordering, so I've removed/fixed
  nonexistent ones.
- Added stubs for create/set/destroy sampler views.
- Added a naive implementation of vertex elements state (new CSO).
- Reworked {texture,buffer}_{from,to}_handle.
- Reorganized winsys files, removed dri,egl,python directories.
- Added a new build target dri-r600.