mesa.git
14 years agor300/compiler: Use zero as the register index for unused sources
Tom Stellard [Thu, 11 Nov 2010 09:01:13 +0000 (01:01 -0800)]
r300/compiler: Use zero as the register index for unused sources

This fixes an invalid "Too many hardware temporaries used" error in the
case where a source reads from a temporary register with an index greater
than max_temp_regs and then the source is marked as unused before the
register allocation pass.

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: Fix instruction scheduling within IF blocks
Tom Stellard [Sun, 14 Nov 2010 01:12:58 +0000 (17:12 -0800)]
r300/compiler: Fix instruction scheduling within IF blocks

Reads of registers that where not written to within the same block were
not being tracked.  So in a situations like this:
0: IF
1: ADD t0, t1, t2
2: MOV t2, t1

Instruction 2 didn't know that instruction 1 read from t2, so
in some cases instruction 2 was being scheduled before instruction 1.

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: Fix register allocator's handling of loops
Tom Stellard [Sun, 14 Nov 2010 00:57:06 +0000 (16:57 -0800)]
r300/compiler: Fix register allocator's handling of loops

NOTE: This is a candidate for the 7.9 branch.

14 years agor300/compiler: Make sure presubtract sources use supported swizzles
Tom Stellard [Thu, 11 Nov 2010 09:28:44 +0000 (01:28 -0800)]
r300/compiler: Make sure presubtract sources use supported swizzles

NOTE: This is a candidate for the 7.9 branch.

14 years agor600: Remove unnecessary header.
Vinson Lee [Sun, 21 Nov 2010 23:02:51 +0000 (15:02 -0800)]
r600: Remove unnecessary header.

14 years agodocs: add GL 4.1 status
Marek Olšák [Sun, 21 Nov 2010 21:54:33 +0000 (22:54 +0100)]
docs: add GL 4.1 status

14 years agost/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects
Marek Olšák [Sun, 21 Nov 2010 00:53:05 +0000 (01:53 +0100)]
st/mesa: enable ARB_explicit_attrib_location and EXT_separate_shader_objects

Gallium drivers pass all piglit tests for the two (there are 12 tests
for separate_shader_objects and 5 tests for explicit_attrib_location),
and I was told the extensions don't need any driver-specific code.

I made them dependent on PIPE_CAP_GLSL.

Signed-off-by: Brian Paul <brianp@vmware.com>
14 years agomesa: fix get_texture_dimensions() for texture array targets
Brian Paul [Sun, 21 Nov 2010 17:05:47 +0000 (10:05 -0700)]
mesa: fix get_texture_dimensions() for texture array targets

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31779

14 years agodocs: update some GL 3.0 status
Brian Paul [Sun, 21 Nov 2010 16:31:19 +0000 (09:31 -0700)]
docs: update some GL 3.0 status

14 years agomesa: hook up GL 3.x entrypoints
Brian Paul [Sun, 21 Nov 2010 16:19:23 +0000 (09:19 -0700)]
mesa: hook up GL 3.x entrypoints

Fix up some details in the xml files and regenerate dispatch files.

14 years agoglapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions
Brian Paul [Sun, 21 Nov 2010 16:13:59 +0000 (09:13 -0700)]
glapi: rename GL3.xml to GL3x.xml as it covers all GL 3.x versions

14 years agomesa: fix error msg typo
Brian Paul [Fri, 19 Nov 2010 21:34:07 +0000 (14:34 -0700)]
mesa: fix error msg typo

14 years agoi915g: kill idws->pool
Daniel Vetter [Fri, 19 Nov 2010 22:38:23 +0000 (23:38 +0100)]
i915g: kill idws->pool

The drm winsys only ever handles one gem memory manager. Rip out
the unnecessary complication.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agoi915g: kill buf->map_gtt
Daniel Vetter [Fri, 19 Nov 2010 22:38:22 +0000 (23:38 +0100)]
i915g: kill buf->map_gtt

Not using the gtt is considered harmful for performance. And for
partial uploads there's always drm_intel_bo_subdata.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agoi915g: kill RGBA/X formats
Daniel Vetter [Fri, 19 Nov 2010 22:38:21 +0000 (23:38 +0100)]
i915g: kill RGBA/X formats

It's intel, so always little endian!

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agoi915g: add pineview pci ids
Daniel Vetter [Fri, 19 Nov 2010 22:38:20 +0000 (23:38 +0100)]
i915g: add pineview pci ids

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agoi915g: s/hw_tiled/tiling
Daniel Vetter [Fri, 19 Nov 2010 22:38:19 +0000 (23:38 +0100)]
i915g: s/hw_tiled/tiling

More in line with other intel drivers.

Change to use enum by Jakob Bornecrantz.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agoi915g: rip out ->sw_tiled
Daniel Vetter [Fri, 19 Nov 2010 22:38:18 +0000 (23:38 +0100)]
i915g: rip out ->sw_tiled

It looks like this was meant to facilitate unfenced access to textures/
color/renderbuffers. It's totally incomplete and fundamentally broken
on a few levels:
- broken: The kernel needs to about every tiled bo to fix up bit17
  swizzling on swap-in.
- unflexible: fenced/unfenced relocs from execbuffer2 do the same, much
  simpler.
- unneeded: with relaxed fencing tiled gem bos are as memory-efficient
  as this trick.

Hence kill it.

Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
14 years agor300g: silence guard band cap errors
Joakim Sindholt [Sun, 21 Nov 2010 12:24:03 +0000 (13:24 +0100)]
r300g: silence guard band cap errors

Somebody should find out what these are. It can be found on Windows
getting a D3DCAPS9 from IDirect3D9::GetCaps() and reading the
GuardBand* values.

14 years agost/vega: Fix vgReadPixels with a subrectangle.
Chia-I Wu [Sun, 21 Nov 2010 10:58:47 +0000 (18:58 +0800)]
st/vega: Fix vgReadPixels with a subrectangle.

Fix a crash when the subrectangle is not inside the fb.  Fix wrong
pipe transfer when sx > 0 or sy + height != fb->height.

This fixes "readpixels" demo.

14 years agost/vega: Set wrap_r for mask and blend samplers.
Chia-I Wu [Sun, 21 Nov 2010 10:46:57 +0000 (18:46 +0800)]
st/vega: Set wrap_r for mask and blend samplers.

These two samplers use non-normalized texture coordinates.  wrap_r
cannot be PIPE_TEX_WRAP_REPEAT (the default).

This fixes

  sp_tex_sample.c:1790:get_linear_unorm_wrap: Assertion `0' failed

assertion failure.

14 years agost/vega: vegaLookupSingle should validate the state.
Chia-I Wu [Sun, 21 Nov 2010 10:44:21 +0000 (18:44 +0800)]
st/vega: vegaLookupSingle should validate the state.

Fix "lookup" demo crash.

14 years agotgsi: Add STENCIL to text parser.
Chia-I Wu [Sun, 21 Nov 2010 10:36:41 +0000 (18:36 +0800)]
tgsi: Add STENCIL to text parser.

Fix OpenVG "filter" demo

  Program received signal SIGSEGV, Segmentation fault.
  0xb7153dc9 in str_match_no_case (pcur=0xbfffe564, str=0x0) at
  tgsi/tgsi_text.c:86
  86         while (*str != '\0' && *str == uprcase( *cur )) {

14 years agomesa: Clean up header file inclusion in stencil.h.
Vinson Lee [Sun, 21 Nov 2010 06:44:33 +0000 (22:44 -0800)]
mesa: Clean up header file inclusion in stencil.h.

14 years agomesa: Clean up header file inclusion in shared.h.
Vinson Lee [Sun, 21 Nov 2010 06:30:27 +0000 (22:30 -0800)]
mesa: Clean up header file inclusion in shared.h.

14 years agomesa: Clean up header file inclusion in shaderapi.h.
Vinson Lee [Sun, 21 Nov 2010 06:17:28 +0000 (22:17 -0800)]
mesa: Clean up header file inclusion in shaderapi.h.

14 years agomesa: Clean up header file inclusion in scissor.h.
Vinson Lee [Sun, 21 Nov 2010 06:01:30 +0000 (22:01 -0800)]
mesa: Clean up header file inclusion in scissor.h.

14 years agomesa: Clean up header file inclusion in renderbuffer.h.
Vinson Lee [Sun, 21 Nov 2010 05:32:07 +0000 (21:32 -0800)]
mesa: Clean up header file inclusion in renderbuffer.h.

14 years agomesa: Clean up header file inclusion in readpix.h.
Vinson Lee [Sun, 21 Nov 2010 05:23:35 +0000 (21:23 -0800)]
mesa: Clean up header file inclusion in readpix.h.

14 years agomesa: Clean up header file inclusion in rastpos.h.
Vinson Lee [Sun, 21 Nov 2010 05:14:06 +0000 (21:14 -0800)]
mesa: Clean up header file inclusion in rastpos.h.

14 years agomesa: Clean up header file inclusion in polygon.h.
Vinson Lee [Sun, 21 Nov 2010 05:06:09 +0000 (21:06 -0800)]
mesa: Clean up header file inclusion in polygon.h.

14 years agointel: Remove unnecessary header.
Vinson Lee [Sun, 21 Nov 2010 04:13:50 +0000 (20:13 -0800)]
intel: Remove unnecessary header.

14 years agor600: Remove unnecesary header.
Vinson Lee [Sun, 21 Nov 2010 03:04:30 +0000 (19:04 -0800)]
r600: Remove unnecesary header.

14 years agoswrast: Remove unnecessary header.
Vinson Lee [Sun, 21 Nov 2010 03:00:18 +0000 (19:00 -0800)]
swrast: Remove unnecessary header.

14 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Sun, 21 Nov 2010 02:48:09 +0000 (18:48 -0800)]
st/mesa: Remove unnecessary headers.

14 years agoscons: Define IN_DRI_DRIVER.
Chia-I Wu [Sun, 21 Nov 2010 01:47:11 +0000 (17:47 -0800)]
scons: Define IN_DRI_DRIVER.

The define is required for DRI drivers.  It is not needed for
libgl-xlib, but the overhead it introduces should be minor.

14 years agonvfx: only expose one rt on nv30
Xavier Chantry [Sat, 20 Nov 2010 21:51:12 +0000 (22:51 +0100)]
nvfx: only expose one rt on nv30

We do not know how to use more, GL_ARB_draw_buffers is not exposed on blob.

14 years agor600g: Fix location for clip plane registers
Owen W. Taylor [Sat, 20 Nov 2010 17:18:56 +0000 (12:18 -0500)]
r600g: Fix location for clip plane registers

The stride between the different clip plane registers was incorrect.

https://bugs.freedesktop.org/show_bug.cgi?id=31788

agd5f: fix evergreen as well.

14 years agor300g: fix rendering with no vertex elements
Marek Olšák [Sun, 14 Nov 2010 17:57:14 +0000 (18:57 +0100)]
r300g: fix rendering with no vertex elements

Fixes glsl-vs-point-size, although I meant to fix glsl-novertexdata.
Since swrast fails glsl-novertexdata too, I guess it's a core issue.

14 years agoi965: Remove duplicate MRF writes in the FS backend.
Eric Anholt [Fri, 19 Nov 2010 07:57:05 +0000 (15:57 +0800)]
i965: Remove duplicate MRF writes in the FS backend.

This is quite common for multitexture sampling, and not only cuts down
on the second and later set of MOVs, but typically also allows
compute-to-MRF on the first set.

No statistically siginficant performance difference in nexuiz (n=3),
but it reduces instruction count in one of its shaders and seems like
a good idea.

14 years agoi965: Improve compute-to-mrf.
Eric Anholt [Thu, 18 Nov 2010 07:03:50 +0000 (15:03 +0800)]
i965: Improve compute-to-mrf.

We were skipping it if the instruction producing the value we were
going to compute-to-mrf used its result reg as a source reg.  This
meant that the typical "write interpolated color to fragment color" or
"texture from interpolated texcoord" shader didn't compute-to-MRF.
Just don't check for the interference cases until after we've checked
if this is the instruction we wanted to compute-to-MRF.

Improves nexuiz high-settings performance on my laptop 0.48% +- 0.08%
(n=3).

14 years agoir_to_mesa: Detect and emit MOV_SATs for saturate constructs.
Eric Anholt [Fri, 19 Nov 2010 10:50:05 +0000 (18:50 +0800)]
ir_to_mesa: Detect and emit MOV_SATs for saturate constructs.

The goal here is to avoid regressing performance on ir_to_mesa drivers
for fixed function fragment shaders requiring saturates.

14 years agoi965: Recognize saturates and turn them into a saturated mov.
Eric Anholt [Fri, 19 Nov 2010 02:36:06 +0000 (10:36 +0800)]
i965: Recognize saturates and turn them into a saturated mov.

On pre-gen6, this turns 4 instructions into 1.  We could still do
better by folding the saturate into the instruction generating the
value if nobody else uses it, but that should be a separate pass.

14 years agoglsl: Add a helper function for determining if an rvalue could be a saturate.
Eric Anholt [Fri, 19 Nov 2010 10:27:41 +0000 (18:27 +0800)]
glsl: Add a helper function for determining if an rvalue could be a saturate.

Hardware pretty commonly has saturate modifiers on instructions, and
this can be used in codegen to produce those, without everyone else
needing to understand clamping other than min and max.

14 years agoi965: Fold constants into the second arg of BRW_SEL as well.
Eric Anholt [Thu, 18 Nov 2010 03:34:54 +0000 (11:34 +0800)]
i965: Fold constants into the second arg of BRW_SEL as well.

This hits a common case with min/max operations.

14 years agoi965: Remove extra \n at the end of every instruction in INTEL_DEBUG=wm.
Eric Anholt [Thu, 18 Nov 2010 03:48:47 +0000 (11:48 +0800)]
i965: Remove extra \n at the end of every instruction in INTEL_DEBUG=wm.

14 years agoi965: Just use memset() to clear most members in FS constructors.
Eric Anholt [Fri, 19 Nov 2010 09:44:35 +0000 (17:44 +0800)]
i965: Just use memset() to clear most members in FS constructors.

This should make it a lot harder to forget to zero things.

14 years agoi965: Fix compute_to_mrf to not move a MRF write up into another live range.
Eric Anholt [Fri, 19 Nov 2010 05:53:28 +0000 (13:53 +0800)]
i965: Fix compute_to_mrf to not move a MRF write up into another live range.

Fixes glsl-fs-copy-propagation-texcoords-1.

14 years agomesa: Include C++ files in the makedepend of DRI drivers.
Eric Anholt [Fri, 19 Nov 2010 09:19:38 +0000 (17:19 +0800)]
mesa: Include C++ files in the makedepend of DRI drivers.

14 years agoglsl: Fix type of label 'default' in switch statement.
Vinson Lee [Sat, 20 Nov 2010 01:28:22 +0000 (17:28 -0800)]
glsl: Fix type of label 'default' in switch statement.

14 years agoglsl: Add lower_vector.cpp to SConscript.
Vinson Lee [Sat, 20 Nov 2010 01:22:23 +0000 (17:22 -0800)]
glsl: Add lower_vector.cpp to SConscript.

14 years agoglsl: Fix matrix constructors with vector parameters
Ian Romanick [Sat, 20 Nov 2010 01:16:12 +0000 (17:16 -0800)]
glsl: Fix matrix constructors with vector parameters

When the semantics of write masks in assignments were changed, this
code was not correctly updated.

Fixes piglit test glsl-mat-from-vec-ctor-01.

14 years agoglsl: Combine many instruction lowering passes into one.
Kenneth Graunke [Fri, 19 Nov 2010 01:54:07 +0000 (17:54 -0800)]
glsl: Combine many instruction lowering passes into one.

This should save on the overhead of tree-walking and provide a
convenient place to add more instruction lowering in the future.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
14 years agoglsl: Simplify a type check by using type->is_integer().
Kenneth Graunke [Fri, 19 Nov 2010 01:15:13 +0000 (17:15 -0800)]
glsl: Simplify a type check by using type->is_integer().

14 years agoglsl: Add ir_quadop_vector expression
Ian Romanick [Tue, 16 Nov 2010 20:01:42 +0000 (12:01 -0800)]
glsl: Add ir_quadop_vector expression

The vector operator collects 2, 3, or 4 scalar components into a
vector.  Doing this has several advantages.  First, it will make
ud-chain tracking for components of vectors much easier.  Second, a
later optimization pass could collect scalars into vectors to allow
generation of SWZ instructions (or similar as operands to other
instructions on R200 and i915).  It also enables an easy way to
generate IR for SWZ instructions in the ARB_vertex_program assembler.

14 years agoglsl: Add unary ir_expression constructor
Ian Romanick [Tue, 9 Nov 2010 22:19:10 +0000 (14:19 -0800)]
glsl: Add unary ir_expression constructor

14 years agoglsl: Add ir_rvalue::is_negative_one predicate
Ian Romanick [Tue, 16 Nov 2010 19:59:22 +0000 (11:59 -0800)]
glsl: Add ir_rvalue::is_negative_one predicate

14 years agoglsl: Eliminate assumptions about size of ir_expression::operands
Ian Romanick [Thu, 11 Nov 2010 00:33:10 +0000 (16:33 -0800)]
glsl: Eliminate assumptions about size of ir_expression::operands

This may grow in the near future.

14 years agoglsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced
Ian Romanick [Thu, 18 Nov 2010 19:05:32 +0000 (11:05 -0800)]
glsl: Add ir_unop_sin_reduced and ir_unop_cos_reduced

The operate just like ir_unop_sin and ir_unop_cos except that they
expect their inputs to be limited to the range [-pi, pi].  Several
GPUs require this limited range for their sine and cosine
instructions, so having these as operations (along with a to-be-written
lowering pass) helps this architectures.

These new operations also matche the semantics of the
GL_ARB_fragment_program SCS instruction.  Having these as operations
helps in generating GLSL IR directly from assembly fragment programs.

14 years agor600g: use full range of VS resources for vertex samplers
Alex Deucher [Fri, 19 Nov 2010 20:51:24 +0000 (15:51 -0500)]
r600g: use full range of VS resources for vertex samplers

Now that we have fetch shaders, the full range of VS resources
can be used for sampling.

14 years agor600g: use meaningful defines for chiprev
Alex Deucher [Fri, 19 Nov 2010 20:32:02 +0000 (15:32 -0500)]
r600g: use meaningful defines for chiprev

Makes the code much clearer.

14 years agor600g: translate ARR instruction for evergreen
Alex Deucher [Fri, 19 Nov 2010 20:19:39 +0000 (15:19 -0500)]
r600g: translate ARR instruction for evergreen

evergreen variant of:
9f7ec103e26c67cb077fd7d94d2fb68562b86c40

14 years agor600g: add fetch shader capabilities
Jerome Glisse [Thu, 18 Nov 2010 19:29:16 +0000 (14:29 -0500)]
r600g: add fetch shader capabilities

Use fetch shader instead of having fetch instruction in the vertex
shader. Allow to restrict shader update to a smaller part when
vertex buffer input layout changes.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: All EVENT_WRITE packets need the EVENT_INDEX field
Alex Deucher [Fri, 19 Nov 2010 18:34:22 +0000 (13:34 -0500)]
r600g: All EVENT_WRITE packets need the EVENT_INDEX field

6xx-evergreen

14 years agodri/nouveau: Clean up magic numbers in get_rt_format
Viktor Novotný [Tue, 16 Nov 2010 22:22:33 +0000 (23:22 +0100)]
dri/nouveau: Clean up magic numbers in get_rt_format

Signed-off-by: Viktor Novotný <noviktor@seznam.cz>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
14 years agor600g: fix occlusion query on evergreen (avoid lockup)
Jerome Glisse [Fri, 19 Nov 2010 16:51:37 +0000 (11:51 -0500)]
r600g: fix occlusion query on evergreen (avoid lockup)

Occlusion query on evergreen need the event index field to be
set otherwise we endup locking up the GPU.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoir_to_mesa: Generate smarter code for some conditional moves
Ian Romanick [Fri, 19 Nov 2010 00:11:25 +0000 (16:11 -0800)]
ir_to_mesa: Generate smarter code for some conditional moves

Condiation moves with a condition of (a < 0), (a > 0), (a <= 0), or (a
>= 0) can be generated with "a" directly as an operand of the CMP
instruction.  This doesn't help much now, but it will help with
assembly shaders that use the CMP instruction.

14 years agoglsl: Make is_zero and is_one virtual methods of ir_rvalue
Ian Romanick [Fri, 19 Nov 2010 01:11:17 +0000 (17:11 -0800)]
glsl: Make is_zero and is_one virtual methods of ir_rvalue

This eliminates the need in some cames to validate that an rvalue is
an ir_constant before checking to see if it's 0 or 1.

14 years agomesa: pass gl_format to _mesa_init_teximage_fields()
Brian Paul [Thu, 18 Nov 2010 23:15:33 +0000 (16:15 -0700)]
mesa: pass gl_format to _mesa_init_teximage_fields()

This should prevent the field going unset in the future.  See bug
http://bugs.freedesktop.org/show_bug.cgi?id=31544 for background.

Also remove unneeded calls to clear_teximage_fields().

Finally, call _mesa_set_fetch_functions() from the
_mesa_init_teximage_fields() function so callers have one less
thing to worry about.

14 years agoscons: Use inline wrap helpers more consistently.
José Fonseca [Thu, 18 Nov 2010 13:02:36 +0000 (13:02 +0000)]
scons: Use inline wrap helpers more consistently.

14 years agogallium/noop: report GL 2.1
Dave Airlie [Thu, 18 Nov 2010 08:10:55 +0000 (18:10 +1000)]
gallium/noop: report GL 2.1

this should at least make app use the same paths as they would for a real
driver.

14 years agoglsl: Fix 'control reaches end of non-void function' warning.
Vinson Lee [Thu, 18 Nov 2010 06:42:51 +0000 (22:42 -0800)]
glsl: Fix 'control reaches end of non-void function' warning.

Fix this GCC warning.
ir.cpp: In static member function
'static unsigned int ir_expression::get_num_operands(ir_expression_operation)':
ir.cpp:199: warning: control reaches end of non-void function

14 years agomesa: Clean up core.h.
Chia-I Wu [Wed, 17 Nov 2010 16:08:01 +0000 (00:08 +0800)]
mesa: Clean up core.h.

Remove version.h and context.h from core.h.

14 years agost/glx: Replace MESA_VERSION_STRING by xmesa_get_name.
Chia-I Wu [Wed, 17 Nov 2010 15:43:01 +0000 (23:43 +0800)]
st/glx: Replace MESA_VERSION_STRING by xmesa_get_name.

xmesa_get_name returns the name of the st_api, which is the same as
MESA_VERSION_STRING.

14 years agost/wgl: Use st_context_iface::share for DrvShareLists.
Chia-I Wu [Wed, 10 Nov 2010 16:21:12 +0000 (00:21 +0800)]
st/wgl: Use st_context_iface::share for DrvShareLists.

14 years agogallium: Add st_context_iface::share to st_api.
Chia-I Wu [Wed, 10 Nov 2010 16:09:09 +0000 (00:09 +0800)]
gallium: Add st_context_iface::share to st_api.

It will be used to implement wglShareLists.  Fill st_context_iface::copy
for glXCopyContext as well.

14 years agogallium: Add st_api::name.
Chia-I Wu [Wed, 17 Nov 2010 15:56:42 +0000 (23:56 +0800)]
gallium: Add st_api::name.

It is the name of the rendering API.  This field is informative.

14 years agost/vega: Do not wait NULL fences.
Chia-I Wu [Wed, 17 Nov 2010 15:35:02 +0000 (23:35 +0800)]
st/vega: Do not wait NULL fences.

14 years agoi965: Eliminate dead code more aggressively.
Eric Anholt [Thu, 18 Nov 2010 02:44:34 +0000 (10:44 +0800)]
i965: Eliminate dead code more aggressively.

If an instruction writes reg but nothing later uses it, then we don't
need to bother doing it.  Before, we were just killing code that was
never read after it was ever written.

This removes many interpolation instructions for attributes with only
a few comopnents used.  Improves nexuiz high-settings performance .46%
+/- .12% (n=3) on my Ironlake.

14 years agomesa: upgrade to glext.h version 66
Brian Paul [Wed, 17 Nov 2010 15:10:26 +0000 (08:10 -0700)]
mesa: upgrade to glext.h version 66

The type of the num/count parameter to glProgramParameters4[df]vNV()
changed so some API dispatch code needed updates too.

14 years agor600g: fix buffer alignment
Alex Deucher [Thu, 18 Nov 2010 02:30:09 +0000 (21:30 -0500)]
r600g: fix buffer alignment

This should fix the remaining buffer alignment issues in r600g.

14 years agoi965: Fail on loops on gen6 for now until we write the EU emit code for it.
Eric Anholt [Wed, 17 Nov 2010 06:59:08 +0000 (14:59 +0800)]
i965: Fail on loops on gen6 for now until we write the EU emit code for it.

14 years agoi965: Add dumping of the sampler default color.
Eric Anholt [Mon, 15 Nov 2010 23:41:40 +0000 (07:41 +0800)]
i965: Add dumping of the sampler default color.

14 years agoi965: Add state dumping for sampler state.
Eric Anholt [Mon, 15 Nov 2010 23:34:32 +0000 (07:34 +0800)]
i965: Add state dumping for sampler state.

14 years agomesa: Don't spam the console in a debug build unless some spam is requested.
Eric Anholt [Sat, 13 Nov 2010 22:30:01 +0000 (14:30 -0800)]
mesa: Don't spam the console in a debug build unless some spam is requested.

It's annoying to use test suites under a Mesa debug build because
pretty output is cluttered with stderr's continuous reports that
you're still using the debug driver.

14 years agoi965: Shut up spurious gcc warning about GLSL_TYPE enums.
Eric Anholt [Wed, 17 Nov 2010 07:06:22 +0000 (15:06 +0800)]
i965: Shut up spurious gcc warning about GLSL_TYPE enums.

14 years agogallium: Remove redundant sw and debug target helpers
Jakob Bornecrantz [Wed, 10 Nov 2010 22:49:40 +0000 (22:49 +0000)]
gallium: Remove redundant sw and debug target helpers

14 years agograw: Use inline debug helper instead of non-inline version
Jakob Bornecrantz [Wed, 10 Nov 2010 22:02:39 +0000 (22:02 +0000)]
graw: Use inline debug helper instead of non-inline version

14 years agolibgl-xlib: Use inline debug helper instead of non-inline version
Jakob Bornecrantz [Wed, 10 Nov 2010 23:42:17 +0000 (23:42 +0000)]
libgl-xlib: Use inline debug helper instead of non-inline version

14 years agoglsl: Improve usage message for glsl_compiler
Chad Versace [Wed, 17 Nov 2010 23:28:36 +0000 (15:28 -0800)]
glsl: Improve usage message for glsl_compiler

The new usage message lists possible command line options. (Newcomers to Mesa
currently have to trawl through the source to find the command line options,
and we should save them from that trouble.)

Example Output
--------------
usage: ./glsl_compiler [options] <file.vert | file.geom | file.frag>

Possible options are:
    --glsl-es
    --dump-ast
    --dump-hir
    --dump-lir
    --link

14 years agoglsl: Refactor get_num_operands.
Kenneth Graunke [Wed, 17 Nov 2010 23:31:35 +0000 (15:31 -0800)]
glsl: Refactor get_num_operands.

This adds sentinel values to the ir_expression_operation enum type:
ir_last_unop, ir_last_binop, and ir_last_opcode.  They are set to the
previous one so they don't trigger "unhandled case in switch statement"
warnings, but should never be handled directly.

This allows us to remove the huge array of 1s and 2s in
ir_expression::get_num_operands().

14 years agor600g: code cleanup (indent, trailing space, empty line ...)
Jerome Glisse [Wed, 17 Nov 2010 22:20:59 +0000 (17:20 -0500)]
r600g: code cleanup (indent, trailing space, empty line ...)

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoglsl: Remove the ir_binop_cross opcode.
Kenneth Graunke [Wed, 17 Nov 2010 21:59:17 +0000 (13:59 -0800)]
glsl: Remove the ir_binop_cross opcode.

14 years agoRefresh autogenerated file builtin_function.cpp.
Kenneth Graunke [Wed, 17 Nov 2010 21:37:16 +0000 (13:37 -0800)]
Refresh autogenerated file builtin_function.cpp.

14 years agoglsl: Reimplement the "cross" built-in without ir_binop_cross.
Kenneth Graunke [Wed, 17 Nov 2010 21:20:30 +0000 (13:20 -0800)]
glsl: Reimplement the "cross" built-in without ir_binop_cross.

We are not aware of any GPU that actually implements the cross product
as a single instruction.  Hence, there's no need for it to be an opcode.
Future commits will remove it entirely.

14 years agoRegenerate glcpp parser.
Kenneth Graunke [Wed, 17 Nov 2010 20:53:07 +0000 (12:53 -0800)]
Regenerate glcpp parser.

14 years agoglsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
Kenneth Graunke [Wed, 17 Nov 2010 20:50:35 +0000 (12:50 -0800)]
glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.

This is really supposed to be defined only if the driver supports highp
in the fragment shader - but all of our current ES2 implementations do.
So, just define it.  In the future, we'll need to add a flag to
gl_context and only define the macro if the flag is set.

"Fixes" freedesktop.org bug #31673.

14 years agoegl_dri2: Add missing intel chip ids.
Robert Hooker [Tue, 16 Nov 2010 20:10:20 +0000 (15:10 -0500)]
egl_dri2: Add missing intel chip ids.

Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
14 years agoglsl: Fix Doxygen tag \file in recently renamed files
Chad Versace [Wed, 17 Nov 2010 18:43:10 +0000 (10:43 -0800)]
glsl: Fix Doxygen tag \file in recently renamed files

14 years agoglsl: Fix erroneous cast in ast_jump_statement::hir()
Chad Versace [Wed, 17 Nov 2010 18:28:01 +0000 (10:28 -0800)]
glsl: Fix erroneous cast in ast_jump_statement::hir()

Return values were erroneously cast from (ir_rvalue*) to (ir_expression*).

NOTE: This is a candidate for the 7.9 branch.