mesa.git
13 years agoglsl: Fix parallel build.
Tobias Jakobi [Fri, 11 Feb 2011 18:36:14 +0000 (10:36 -0800)]
glsl: Fix parallel build.

Broken since e0c1fc32832b66b52e6352ba563288ee48a1face.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agosvga: Enable the draw pipeline for smooth lines.
José Fonseca [Fri, 11 Feb 2011 11:22:02 +0000 (11:22 +0000)]
svga: Enable the draw pipeline for smooth lines.

Spotted by Brian Paul.

13 years agosvga: Don't use the draw pipeline for non-AA lines with a fractional width.
José Fonseca [Fri, 11 Feb 2011 11:20:54 +0000 (11:20 +0000)]
svga: Don't use the draw pipeline for non-AA lines with a fractional width.

Spotted by Jakob Bornecrantz.

13 years agodraw: Don't use the pipeline when drawing lines with fractional widths.
José Fonseca [Fri, 11 Feb 2011 11:14:27 +0000 (11:14 +0000)]
draw: Don't use the pipeline when drawing lines with fractional widths.

Spotted by Jakob Bornecrantz.

13 years agollvmpipe: Use u_math's round.
José Fonseca [Fri, 11 Feb 2011 11:14:44 +0000 (11:14 +0000)]
llvmpipe: Use u_math's round.

13 years agoutil: Define round and roundf on MSVC.
José Fonseca [Fri, 11 Feb 2011 11:11:33 +0000 (11:11 +0000)]
util: Define round and roundf on MSVC.

13 years agosvga: Stippled lines can also be drawn with triangles.
José Fonseca [Fri, 11 Feb 2011 07:47:34 +0000 (07:47 +0000)]
svga: Stippled lines can also be drawn with triangles.

13 years agor300g: remove unused function prototypes, update copyright
Marek Olšák [Fri, 11 Feb 2011 04:59:02 +0000 (05:59 +0100)]
r300g: remove unused function prototypes, update copyright

13 years agoegl_dri2: rename loader_extension to dri2_loader_extension
Haitao Feng [Wed, 9 Feb 2011 07:05:11 +0000 (15:05 +0800)]
egl_dri2: rename loader_extension to dri2_loader_extension

Signed-off-by: Haitao Feng <haitao.feng@intel.com>
13 years agost/egl wayland: Sync front buffer release
Benjamin Franzke [Fri, 11 Feb 2011 01:23:38 +0000 (02:23 +0100)]
st/egl wayland: Sync front buffer release

13 years agoegl_dri2 wayland: Sync front buffer release
Benjamin Franzke [Fri, 11 Feb 2011 01:23:14 +0000 (02:23 +0100)]
egl_dri2 wayland: Sync front buffer release

13 years agoegl_dri2: Always unbind old contexts
Benjamin Franzke [Wed, 9 Feb 2011 20:19:45 +0000 (21:19 +0100)]
egl_dri2: Always unbind old contexts

This fixes __DRIdrawable refcounting.
Binding a context increases their refcount,
so we need to decrease it.

13 years agoegl_dri2: Use double buffering for window surfaces
Benjamin Franzke [Wed, 9 Feb 2011 14:30:20 +0000 (15:30 +0100)]
egl_dri2: Use double buffering for window surfaces

13 years agost/dri: Set render_buffer in dri_fill_st_visual
Benjamin Franzke [Wed, 9 Feb 2011 14:26:26 +0000 (15:26 +0100)]
st/dri: Set render_buffer in dri_fill_st_visual

st/mesa/st_managaer.c needs render_buffer in order
to determinde which buffer should be rendered to.

13 years agost/dri: img_from_renderbuf: Fix incorrect usage of dri_context()
Benjamin Franzke [Wed, 9 Feb 2011 19:48:38 +0000 (20:48 +0100)]
st/dri: img_from_renderbuf: Fix incorrect usage of dri_context()

13 years agost/dri: Fix surfaceless gl using contexts with previous bound surfaces
Benjamin Franzke [Wed, 9 Feb 2011 19:42:50 +0000 (20:42 +0100)]
st/dri: Fix surfaceless gl using contexts with previous bound surfaces

ctx->dPriv might be != NULL then draw which is NULL is accessed:

struct dri_drawable *draw = dri_drawable(driDrawPriv);
[..]
if (ctx->dPriv != driDrawPriv) {
      ctx->dPriv = driDrawPriv;
      draw->texture_stamp = driDrawPriv->lastStamp - 1;
}

13 years agost/egl wayland: Set color_format according to wl_visual
Benjamin Franzke [Wed, 9 Feb 2011 19:40:37 +0000 (20:40 +0100)]
st/egl wayland: Set color_format according to wl_visual

13 years agor600g: get correct height alignment
Dave Airlie [Fri, 11 Feb 2011 01:47:43 +0000 (11:47 +1000)]
r600g: get correct height alignment

useful for s3tc

13 years agor600g: drop two unused | 0 that are actually in word4 anyways.
Dave Airlie [Fri, 11 Feb 2011 00:45:59 +0000 (10:45 +1000)]
r600g: drop two unused | 0 that are actually in word4 anyways.

these were NOPs anyways.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agor600g: handle 16/32 u/s norm formats properly
Dave Airlie [Thu, 10 Feb 2011 04:07:06 +0000 (14:07 +1000)]
r600g: handle 16/32 u/s norm formats properly

add support for the 32-bit types, also fixup the
export setting to handle types with channels > 11 bits properly

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agor300g: prevent NULL pointer dereference in r300_buffer_create
Marek Olšák [Fri, 11 Feb 2011 02:17:04 +0000 (03:17 +0100)]
r300g: prevent NULL pointer dereference in r300_buffer_create

Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=33185

13 years agomesa: Remove empty header file s_trispan.h.
Kenneth Graunke [Fri, 11 Feb 2011 01:35:36 +0000 (17:35 -0800)]
mesa: Remove empty header file s_trispan.h.

13 years agoglsl/Makefile: glcpp doesn't need libglsl.a.
Kenneth Graunke [Fri, 11 Feb 2011 00:37:56 +0000 (16:37 -0800)]
glsl/Makefile: glcpp doesn't need libglsl.a.

Also, add a 'glcpp' target so you can type 'make glcpp' instead of
'make glcpp/glcpp'.

13 years agor300g: plug a memory leak in winsys
Marek Olšák [Fri, 11 Feb 2011 01:34:15 +0000 (02:34 +0100)]
r300g: plug a memory leak in winsys

13 years agor300g: remove unneeded code in winsys
Marek Olšák [Fri, 11 Feb 2011 00:32:44 +0000 (01:32 +0100)]
r300g: remove unneeded code in winsys

We don't need the read/write flags.

13 years agor300g: fix warning
Marek Olšák [Fri, 11 Feb 2011 00:18:53 +0000 (01:18 +0100)]
r300g: fix warning

13 years agoconfigure.ac: remove libdrm_radeon dependency for r300g and r600g
Marek Olšák [Fri, 11 Feb 2011 00:16:06 +0000 (01:16 +0100)]
configure.ac: remove libdrm_radeon dependency for r300g and r600g

13 years agor300g: import the last bits of libdrm and cleanup the whole thing
Marek Olšák [Thu, 23 Dec 2010 09:40:54 +0000 (19:40 +1000)]
r300g: import the last bits of libdrm and cleanup the whole thing

Based on Dave's branch.

The majority of this commit is a cleanup, mainly renaming things.
There wasn't much code to import, just ioctl calls.

Also done:
- implemented unsynchronized bo_map (important optimization!)
- radeon_bo_is_referenced_by_cs is no longer a refcount hack
- dropped the libdrm_radeon dependency

I'm surprised that this has resulted in less code in the end.

13 years agost/mesa: allow rendering to sRGB textures if EXT_fb_srgb is unsupported
Marek Olšák [Thu, 10 Feb 2011 01:16:58 +0000 (02:16 +0100)]
st/mesa: allow rendering to sRGB textures if EXT_fb_srgb is unsupported

In this case, we always use the corresponding linear format in create_surface,
therefore we should check for linear format support as well.

13 years agoi915: Force lowering of all types of indirect array accesses in the FS
Ian Romanick [Thu, 10 Feb 2011 19:51:28 +0000 (11:51 -0800)]
i915: Force lowering of all types of indirect array accesses in the FS

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agoi915: Calculate partial result to temp register first
Ian Romanick [Thu, 10 Feb 2011 19:48:59 +0000 (11:48 -0800)]
i915: Calculate partial result to temp register first

Previously the SNE and SEQ instructions would calculate the partial
result to the destination register.  This would cause problems if the
destination register was also one of the source registers.

Fixes piglit tests glsl-fs-any, glsl-fs-struct-equal,
glsl-fs-struct-notequal, glsl-fs-vec4-operator-equal,
glsl-fs-vec4-operator-notequal.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agou_upload_mgr: Use PIPE_TRANSFER_FLUSH_EXPLICIT.
José Fonseca [Thu, 10 Feb 2011 20:53:55 +0000 (20:53 +0000)]
u_upload_mgr: Use PIPE_TRANSFER_FLUSH_EXPLICIT.

This can avoid DMAing the whole buffer when just a fraction was changed.

13 years agoscons: Disable -mstackrealign on MinGW again.
José Fonseca [Thu, 10 Feb 2011 12:16:26 +0000 (12:16 +0000)]
scons: Disable -mstackrealign on MinGW again.

It's still broken, however it doesn't show up on debug builds.

13 years agoconfigure.ac: Fix typo
Kristian Høgsberg [Thu, 10 Feb 2011 15:45:06 +0000 (10:45 -0500)]
configure.ac: Fix typo

13 years agor300g: implement accelerated copy_region for compressed formats
Marek Olšák [Thu, 10 Feb 2011 10:20:05 +0000 (11:20 +0100)]
r300g: implement accelerated copy_region for compressed formats

13 years agor300g: add a way to change texture properties arbitrarily
Marek Olšák [Thu, 10 Feb 2011 09:16:21 +0000 (10:16 +0100)]
r300g: add a way to change texture properties arbitrarily

So that we can implement resource_copy on arbitrary data.

13 years agor300g: consolidate buffers and textures to r300_resource
Marek Olšák [Thu, 10 Feb 2011 04:36:44 +0000 (05:36 +0100)]
r300g: consolidate buffers and textures to r300_resource

Transfers and create/destroy are still handled separately.

13 years agor300g: simplify WRITE_RELOC API and cleanup
Marek Olšák [Thu, 10 Feb 2011 05:10:55 +0000 (06:10 +0100)]
r300g: simplify WRITE_RELOC API and cleanup

13 years agou_blitter: let the driver check whether there's a recursion
Marek Olšák [Thu, 10 Feb 2011 10:21:27 +0000 (11:21 +0100)]
u_blitter: let the driver check whether there's a recursion

13 years agor300g: use format from pipe_surface instead of pipe_resource
Marek Olšák [Thu, 10 Feb 2011 01:11:38 +0000 (02:11 +0100)]
r300g: use format from pipe_surface instead of pipe_resource

13 years agoRevert "r300g: support sRGB colorbuffers"
Marek Olšák [Thu, 10 Feb 2011 00:36:23 +0000 (01:36 +0100)]
Revert "r300g: support sRGB colorbuffers"

This partially reverts commit 91eba2567eab9409d94efc3c1f07a4a3731d0047.

Conflicts:

src/gallium/drivers/r300/r300_blit.c

13 years agomesa/st: enable GL_EXT_framebuffer_sRGB
Dave Airlie [Sun, 6 Feb 2011 09:01:58 +0000 (19:01 +1000)]
mesa/st: enable GL_EXT_framebuffer_sRGB

If the formats don't match we need to update the surface with the new
format.

if we can render to SRGB formats, enable the extension

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoscons: Restrict whole program optimization to release builds.
José Fonseca [Tue, 8 Feb 2011 10:26:17 +0000 (10:26 +0000)]
scons: Restrict whole program optimization to release builds.

It just takes forever, so it is inadequate for continuous testings
(i.e., checked and profile build types).

13 years agosvga: Don't advertise pixel shader addr register support.
José Fonseca [Wed, 1 Dec 2010 15:41:12 +0000 (15:41 +0000)]
svga: Don't advertise pixel shader addr register support.

It's not fully supported.

13 years agoeglplatform.h: Define Wayland native platform types
Kristian Høgsberg [Wed, 9 Feb 2011 15:18:07 +0000 (10:18 -0500)]
eglplatform.h: Define Wayland native platform types

This is conditional on WL_EGL_PLATFORM being #defined, so application
must make sure to include wayland-egl.h before including any egl header.

13 years agonvc0: serialize on PIPE_FLUSH_RENDER_CACHE as well
Christoph Bumiller [Wed, 9 Feb 2011 14:01:23 +0000 (15:01 +0100)]
nvc0: serialize on PIPE_FLUSH_RENDER_CACHE as well

Effects were easily visible in piglit/fbo-generatemipmap-formats.

13 years agonvc0: fix stride of NVC0_3D_RT methods
Christoph Bumiller [Wed, 2 Feb 2011 21:04:53 +0000 (22:04 +0100)]
nvc0: fix stride of NVC0_3D_RT methods

13 years agonvc0: correct storage type for 16 bit surface formats
Christoph Bumiller [Wed, 2 Feb 2011 15:35:21 +0000 (16:35 +0100)]
nvc0: correct storage type for 16 bit surface formats

13 years agonvc0: make CSE work for ops with multiple results
Christoph Bumiller [Wed, 9 Feb 2011 13:26:14 +0000 (14:26 +0100)]
nvc0: make CSE work for ops with multiple results

13 years agonvc0: replace branching with predicated insns where feasible
Christoph Bumiller [Tue, 8 Feb 2011 15:55:06 +0000 (16:55 +0100)]
nvc0: replace branching with predicated insns where feasible

13 years agonvc0: implement local memory load and store ops
Christoph Bumiller [Mon, 7 Feb 2011 20:19:23 +0000 (21:19 +0100)]
nvc0: implement local memory load and store ops

13 years agonvc0: make sure phi-ops really have one source per in-block
Christoph Bumiller [Mon, 7 Feb 2011 20:17:37 +0000 (21:17 +0100)]
nvc0: make sure phi-ops really have one source per in-block

13 years agonv50,nvc0: do not forget to apply sign mode to saved TGSI inputs
Christoph Bumiller [Mon, 7 Feb 2011 13:54:17 +0000 (14:54 +0100)]
nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs

13 years agonvc0: do not generate a backwards jump if a loop ends with BRK
Christoph Bumiller [Sun, 6 Feb 2011 12:09:24 +0000 (13:09 +0100)]
nvc0: do not generate a backwards jump if a loop ends with BRK

13 years agonvc0: store only one value per basic block for TGSI regs
Christoph Bumiller [Mon, 7 Feb 2011 18:05:55 +0000 (19:05 +0100)]
nvc0: store only one value per basic block for TGSI regs

13 years agonv50,nvc0: fix condition code change when commuting SET sources
Christoph Bumiller [Mon, 7 Feb 2011 18:03:09 +0000 (19:03 +0100)]
nv50,nvc0: fix condition code change when commuting SET sources

13 years agonvc0: set basic block on manual instruction insertion
Christoph Bumiller [Mon, 7 Feb 2011 18:01:54 +0000 (19:01 +0100)]
nvc0: set basic block on manual instruction insertion

13 years agonvc0: try to fix register conflicts for vector instructions
Christoph Bumiller [Mon, 7 Feb 2011 17:59:46 +0000 (18:59 +0100)]
nvc0: try to fix register conflicts for vector instructions

Vector here means using multiple 32 bit regs which are forced to be
consecutive in the register file.

This still isn't quite nice.

13 years agonvc0: reset texture base address after read transfer
Christoph Bumiller [Wed, 2 Feb 2011 20:38:07 +0000 (21:38 +0100)]
nvc0: reset texture base address after read transfer

13 years agonvc0: don't combine memory loads across block boundaries
Christoph Bumiller [Wed, 2 Feb 2011 20:23:09 +0000 (21:23 +0100)]
nvc0: don't combine memory loads across block boundaries

13 years agonvc0: detect no-op MIN/MAX, do CSE earlier to succeed more often
Christoph Bumiller [Tue, 1 Feb 2011 19:52:49 +0000 (20:52 +0100)]
nvc0: detect no-op MIN/MAX, do CSE earlier to succeed more often

13 years agomesa/st: Clean up vertex buffer unreferencing
Thomas Hellstrom [Tue, 8 Feb 2011 10:36:56 +0000 (11:36 +0100)]
mesa/st: Clean up vertex buffer unreferencing

Avoid accessing draw module internal structures outside of the draw module.
Unreference vertex buffers in error path.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agogallium/docs: fix typo
Marek Olšák [Wed, 9 Feb 2011 04:20:37 +0000 (05:20 +0100)]
gallium/docs: fix typo

13 years agor200: add cast to silence warning
Brian Paul [Wed, 9 Feb 2011 02:25:04 +0000 (19:25 -0700)]
r200: add cast to silence warning

13 years agomesa: remove unused BITFIELD64 macros
Brian Paul [Wed, 9 Feb 2011 02:25:04 +0000 (19:25 -0700)]
mesa: remove unused BITFIELD64 macros

13 years agomesa: remove _mesa_create_context_for_api()
Brian Paul [Wed, 9 Feb 2011 02:25:04 +0000 (19:25 -0700)]
mesa: remove _mesa_create_context_for_api()

Just add the gl_api parameter to _mesa_create_context().

13 years agomesa: remove _mesa_initialize_context_for_api()
Brian Paul [Wed, 9 Feb 2011 02:25:04 +0000 (19:25 -0700)]
mesa: remove _mesa_initialize_context_for_api()

Just add the gl_api parameter to _mesa_initialize_context().

13 years agomesa: add/update VERBOSE_API logging
Brian Paul [Wed, 9 Feb 2011 02:19:34 +0000 (19:19 -0700)]
mesa: add/update VERBOSE_API logging

13 years agost/mesa: fix shader deletion regression
Brian Paul [Wed, 9 Feb 2011 01:21:50 +0000 (18:21 -0700)]
st/mesa: fix shader deletion regression

Fixes a regression from commit 5cbff0932e498f49b57cbb71037b93416bfe30e0.
The problem is *some* glDrawPixels fragment programs need to be deleted,
but not all.  Use an explicit flag to indicate whether or not the program
needs to be deleted.

This should fix http://bugs.freedesktop.org/show_bug.cgi?id=34049

13 years agoi965: Add missing DEFINE_BITS for brw dirty bits.
Kenneth Graunke [Wed, 9 Feb 2011 00:56:07 +0000 (16:56 -0800)]
i965: Add missing DEFINE_BITS for brw dirty bits.

These are only used for debugging, but should be there.
Found by inspection.

13 years agoi965: Separate the BRW_NEW_(VS|WM)_CONSTBUF dirty bits.
Kenneth Graunke [Wed, 9 Feb 2011 00:55:20 +0000 (16:55 -0800)]
i965: Separate the BRW_NEW_(VS|WM)_CONSTBUF dirty bits.

These were incorrectly defined to the same value - likely due to a cut
and paste error.  Found by inspection.

13 years agoi965: Rename a few more commands to match the documentation.
Kenneth Graunke [Wed, 9 Feb 2011 00:04:48 +0000 (16:04 -0800)]
i965: Rename a few more commands to match the documentation.

13 years agost/egl: Fix platform selection
Benjamin Franzke [Tue, 8 Feb 2011 20:12:43 +0000 (21:12 +0100)]
st/egl: Fix platform selection

A break for case _EGL_PLATFORM_X11 is missing.
introduced by: 381ea0d67a6d84a34d23571c49bbf4339ffda364

13 years agoi965: Remove pointless keying of WM state on VUE size.
Eric Anholt [Sat, 5 Feb 2011 17:59:21 +0000 (11:59 -0600)]
i965: Remove pointless keying of WM state on VUE size.

13 years agomesa: Fix the Mesa IR copy propagation to not read past writes to the reg.
Eric Anholt [Fri, 4 Feb 2011 19:31:02 +0000 (13:31 -0600)]
mesa: Fix the Mesa IR copy propagation to not read past writes to the reg.

Fixes glsl-vs-post-increment-01.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
13 years agoglsl: Disable the new copy propagation pass until it gets fixed.
Eric Anholt [Tue, 8 Feb 2011 07:27:03 +0000 (23:27 -0800)]
glsl: Disable the new copy propagation pass until it gets fixed.

It apparently regressed a bunch of ES2 cases.

13 years agoglsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30
Chad Versace [Fri, 4 Feb 2011 20:18:56 +0000 (12:18 -0800)]
glsl: Set operators '%' and '%=' to be reserved when GLSL < 1.30

From section 5.9 of the GLSL 1.20 spec:
   The operator modulus (%) is reserved for future use.

From section 5.8 of the GLSL 1.20 spec:
   The assignments modulus into (%=), left shift by (<<=), right shift by
   (>>=), inclusive or into ( |=), and exclusive or into ( ^=). These
   operators are reserved for future use.

The GLSL ES 1.00 spec and GLSL 1.10 spec have similiar language.

Fixes bug:
https://bugs.freedesktop.org//show_bug.cgi?id=33916

Fixes Piglit tests:
spec/glsl-1.00/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.00/compiler/assignment-operators/modulus-assign-00.frag
spec/glsl-1.10/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.10/compiler/assignment-operators/modulus-assign-00.frag
spec/glsl-1.20/compiler/arithmetic-operators/modulus-00.frag
spec/glsl-1.20/compiler/assignment-operators/modulus-assign-00.frag

13 years agor600g: fixup assertion
Marek Olšák [Tue, 8 Feb 2011 17:18:13 +0000 (18:18 +0100)]
r600g: fixup assertion

13 years agor600g: add a faster implementation of transfer_inline_write
Marek Olšák [Tue, 8 Feb 2011 16:36:48 +0000 (17:36 +0100)]
r600g: add a faster implementation of transfer_inline_write

u_default_transfer_inline_write uses util_copy_rect, which is kinda slow.

13 years agor600g: slab-allocate buffer and transfer structures
Marek Olšák [Tue, 8 Feb 2011 16:30:39 +0000 (17:30 +0100)]
r600g: slab-allocate buffer and transfer structures

13 years agor300g: use the same upload buffer for vertices and indices
Marek Olšák [Tue, 8 Feb 2011 15:34:22 +0000 (16:34 +0100)]
r300g: use the same upload buffer for vertices and indices

13 years agor600g: use the same upload buffer for vertices, indices, and constants
Marek Olšák [Tue, 8 Feb 2011 14:21:35 +0000 (15:21 +0100)]
r600g: use the same upload buffer for vertices, indices, and constants

This should reduce memory consumption.

13 years agomesa/st: Plug a fragment program variant parameter leak
Thomas Hellstrom [Tue, 8 Feb 2011 09:14:22 +0000 (01:14 -0800)]
mesa/st: Plug a fragment program variant parameter leak

Fixes a minor memory leak with the "engine" mesa demo.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agost/mesa: free the temporary bitmap/drawpix shader code
Brian Paul [Tue, 8 Feb 2011 15:05:14 +0000 (08:05 -0700)]
st/mesa: free the temporary bitmap/drawpix shader code

Fixes a per-shader memory leak when drawing glBitmaps, glDrawPixels
or glCopyPixels.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agou_vbuf_mgr: add a way to specify the BIND flag for the upload buffer
Marek Olšák [Tue, 8 Feb 2011 14:20:11 +0000 (15:20 +0100)]
u_vbuf_mgr: add a way to specify the BIND flag for the upload buffer

13 years agou_vbuf_mgr: remove tabs
Marek Olšák [Tue, 8 Feb 2011 14:18:10 +0000 (15:18 +0100)]
u_vbuf_mgr: remove tabs

13 years agou_vbuf_mgr: make the uploader public
Marek Olšák [Tue, 8 Feb 2011 14:08:04 +0000 (15:08 +0100)]
u_vbuf_mgr: make the uploader public

13 years agoRevert "r600g: do not flush the uploader" (with comments)
Marek Olšák [Tue, 8 Feb 2011 11:09:29 +0000 (12:09 +0100)]
Revert "r600g: do not flush the uploader" (with comments)

This reverts commit 1c2a4f0820ff2272f993e6da28dcf8bcbbc3252a.

13 years agor600g: silence a few valgrind warnings
Brian Paterni [Tue, 8 Feb 2011 01:57:56 +0000 (19:57 -0600)]
r600g: silence a few valgrind warnings

13 years agomesa/st: Fix vertex buffer leak
Thomas Hellstrom [Mon, 7 Feb 2011 14:37:05 +0000 (15:37 +0100)]
mesa/st: Fix vertex buffer leak

Make sure we unreference the vertex buffer pointers in a local array.
This fixes huge vertex buffer / memory leaks in mesa demos "fire" and "engine".

NOTE: This is a candidate for the 7.9 and 7.10 branches.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agowayland-egl: Add struct wl_egl_display argument to +wl_egl_window_create()
Kristian Høgsberg [Tue, 8 Feb 2011 01:49:58 +0000 (20:49 -0500)]
wayland-egl: Add struct wl_egl_display argument to +wl_egl_window_create()

13 years agor600g: Add support for relative addressing on constant buffers.
Henri Verbeet [Mon, 7 Feb 2011 14:22:08 +0000 (15:22 +0100)]
r600g: Add support for relative addressing on constant buffers.

Relative addressing of constant buffers can't work properly through the
kcache, since you can only address within the currently locked kcache window.
Instead, this patch binds the constant buffer as a shader resource, and then
explicitly fetches the constant using a vertex fetch with fetch type
VTX_FETCH_NO_INDEX_OFFSET from the shader. There's probably still some room
for improvement, doing the fetch right before the instruction that needs the
value may not be quite optimal for example.

13 years agor600g: Set the fetch type in r600_bc_vtx_build().
Henri Verbeet [Mon, 7 Feb 2011 14:22:08 +0000 (15:22 +0100)]
r600g: Set the fetch type in r600_bc_vtx_build().

13 years agor600g: Handle the ADD_INT instruction in r600_bc_get_num_operands().
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Handle the ADD_INT instruction in r600_bc_get_num_operands().

13 years agor600g: Generalize the pipe_add_vertex_attrib() functions.
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Generalize the pipe_add_vertex_attrib() functions.

This allows them to be used for VS or PS buffer resources as well.

13 years agor600g: Remove vs_resource and ps_resource from the pipe context.
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Remove vs_resource and ps_resource from the pipe context.

These are practically unused, only the vs_resource array is being abused for
fetch shader resources.

13 years agor600g: Split constants in r600_shader_from_tgsi().
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Split constants in r600_shader_from_tgsi().

13 years agor600g: Do the tgsi_full_src_register to r600_shader_src conversion in r600_shader_fro...
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Do the tgsi_full_src_register to r600_shader_src conversion in r600_shader_from_tgsi().

13 years agor600g: Split r600_bc_alu_src.
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Split r600_bc_alu_src.

The r600_bc_alu_src structure is used in two different ways, as a vector and
for the individual channels of that same vector. This is somewhat fragile,
and probably confusing.

13 years agor600g: Store literal values in the r600_bc_alu_src structure.
Henri Verbeet [Mon, 7 Feb 2011 14:22:07 +0000 (15:22 +0100)]
r600g: Store literal values in the r600_bc_alu_src structure.

This is much easier to work with, and allows use to get rid of some of the
literal handling hacks.