Christoph Bumiller
0f776fea43
nvc0: implement local memory load and store ops
2011-02-09 16:05:00 +01:00
Christoph Bumiller
4124feabcb
nvc0: make sure phi-ops really have one source per in-block
2011-02-09 16:05:00 +01:00
Christoph Bumiller
7401590ded
nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs
2011-02-09 16:05:00 +01:00
Christoph Bumiller
c485368efe
nvc0: do not generate a backwards jump if a loop ends with BRK
2011-02-09 16:05:00 +01:00
Christoph Bumiller
8e240e6153
nvc0: store only one value per basic block for TGSI regs
2011-02-09 16:05:00 +01:00
Christoph Bumiller
d5263e4093
nv50,nvc0: fix condition code change when commuting SET sources
2011-02-09 16:04:59 +01:00
Christoph Bumiller
8f05134580
nvc0: set basic block on manual instruction insertion
2011-02-09 16:04:59 +01:00
Christoph Bumiller
92d8af582d
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.
2011-02-09 16:04:59 +01:00
Christoph Bumiller
c62fc50c88
nvc0: reset texture base address after read transfer
2011-02-09 16:04:59 +01:00
Christoph Bumiller
d3ea15f5ca
nvc0: don't combine memory loads across block boundaries
2011-02-09 16:04:59 +01:00
Christoph Bumiller
f0d7429623
nvc0: detect no-op MIN/MAX, do CSE earlier to succeed more often
2011-02-09 16:04:59 +01:00
Thomas Hellstrom
a7293cbe5c
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>
2011-02-09 09:45:34 +01:00
Marek Olšák
c264786809
gallium/docs: fix typo
2011-02-09 05:21:20 +01:00
Brian Paul
f70c98b6a6
r200: add cast to silence warning
2011-02-08 19:25:04 -07:00
Brian Paul
3b0c2eb07c
mesa: remove unused BITFIELD64 macros
2011-02-08 19:25:04 -07:00
Brian Paul
6f2f449414
mesa: remove _mesa_create_context_for_api()
...
Just add the gl_api parameter to _mesa_create_context().
2011-02-08 19:25:04 -07:00
Brian Paul
5e4ca1ccc9
mesa: remove _mesa_initialize_context_for_api()
...
Just add the gl_api parameter to _mesa_initialize_context().
2011-02-08 19:25:04 -07:00
Brian Paul
2634e92dc0
mesa: add/update VERBOSE_API logging
2011-02-08 19:20:43 -07:00
Brian Paul
7230e1a228
st/mesa: fix shader deletion regression
...
Fixes a regression from commit 5cbff0932e .
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
2011-02-08 18:23:59 -07:00
Kenneth Graunke
f6f04ae29c
i965: Add missing DEFINE_BITS for brw dirty bits.
...
These are only used for debugging, but should be there.
Found by inspection.
2011-02-08 16:56:18 -08:00
Kenneth Graunke
58b7e37722
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.
2011-02-08 16:55:20 -08:00
Kenneth Graunke
71acbb54f4
i965: Rename a few more commands to match the documentation.
2011-02-08 16:06:47 -08:00
Benjamin Franzke
15598fbf42
st/egl: Fix platform selection
...
A break for case _EGL_PLATFORM_X11 is missing.
introduced by: 381ea0d67a
2011-02-08 15:16:31 -05:00
Eric Anholt
df8ca3e0ec
i965: Remove pointless keying of WM state on VUE size.
2011-02-08 11:42:44 -08:00
Eric Anholt
76857e8954
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>
2011-02-08 11:42:35 -08:00
Eric Anholt
60aab5f335
glsl: Disable the new copy propagation pass until it gets fixed.
...
It apparently regressed a bunch of ES2 cases.
2011-02-08 11:41:05 -08:00
Chad Versace
82f994f386
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
2011-02-08 09:37:03 -08:00
Marek Olšák
69e5516308
r600g: fixup assertion
2011-02-08 18:18:13 +01:00
Marek Olšák
71df812146
r600g: add a faster implementation of transfer_inline_write
...
u_default_transfer_inline_write uses util_copy_rect, which is kinda slow.
2011-02-08 17:47:00 +01:00
Marek Olšák
f0b202ec73
r600g: slab-allocate buffer and transfer structures
2011-02-08 17:30:39 +01:00
Marek Olšák
b541a3c4c0
r300g: use the same upload buffer for vertices and indices
2011-02-08 16:35:02 +01:00
Marek Olšák
467023e808
r600g: use the same upload buffer for vertices, indices, and constants
...
This should reduce memory consumption.
2011-02-08 16:35:02 +01:00
Thomas Hellstrom
8042470057
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>
2011-02-08 08:13:39 -07:00
Brian Paul
5cbff0932e
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.
2011-02-08 08:10:22 -07:00
Marek Olšák
1ee71bdc8a
u_vbuf_mgr: add a way to specify the BIND flag for the upload buffer
2011-02-08 15:20:11 +01:00
Marek Olšák
7628c4ecb6
u_vbuf_mgr: remove tabs
2011-02-08 15:18:46 +01:00
Marek Olšák
f53cbf8bb0
u_vbuf_mgr: make the uploader public
2011-02-08 15:08:04 +01:00
Marek Olšák
d8d5c2660f
Revert "r600g: do not flush the uploader" (with comments)
...
This reverts commit 1c2a4f0820 .
2011-02-08 14:48:12 +01:00
Brian Paterni
4d78dafc84
r600g: silence a few valgrind warnings
2011-02-08 12:48:44 +01:00
Thomas Hellstrom
bb1036aae5
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>
2011-02-08 11:01:21 +01:00
Kristian Høgsberg
1e1b89103e
wayland-egl: Add struct wl_egl_display argument to +wl_egl_window_create()
2011-02-07 20:50:18 -05:00
Henri Verbeet
077c448d18
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.
2011-02-07 15:22:08 +01:00
Henri Verbeet
871460eb14
r600g: Set the fetch type in r600_bc_vtx_build().
2011-02-07 15:22:08 +01:00
Henri Verbeet
4c30a80e38
r600g: Handle the ADD_INT instruction in r600_bc_get_num_operands().
2011-02-07 15:22:07 +01:00
Henri Verbeet
5c59eebfae
r600g: Generalize the pipe_add_vertex_attrib() functions.
...
This allows them to be used for VS or PS buffer resources as well.
2011-02-07 15:22:07 +01:00
Henri Verbeet
b9fd1a1e4b
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.
2011-02-07 15:22:07 +01:00
Henri Verbeet
7687eabaa0
r600g: Split constants in r600_shader_from_tgsi().
2011-02-07 15:22:07 +01:00
Henri Verbeet
1fa95c7f9e
r600g: Do the tgsi_full_src_register to r600_shader_src conversion in r600_shader_from_tgsi().
2011-02-07 15:22:07 +01:00
Henri Verbeet
a77e813de3
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.
2011-02-07 15:22:07 +01:00
Henri Verbeet
3b1c1f0253
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.
2011-02-07 15:22:07 +01:00