mesa.git
16 years agogallium: fix logic in pb_check_usage()
Brian Paul [Wed, 9 Jul 2008 17:46:16 +0000 (11:46 -0600)]
gallium: fix logic in pb_check_usage()

16 years agomesa: check for OpenBSD (bug 15604)
Brian Paul [Wed, 9 Jul 2008 14:48:41 +0000 (08:48 -0600)]
mesa: check for OpenBSD (bug 15604)

cherry-picked from master

16 years agomesa: fix state.clip[n].plane parsing bug (bug 16611)
Brian Paul [Wed, 9 Jul 2008 14:47:23 +0000 (08:47 -0600)]
mesa: fix state.clip[n].plane parsing bug (bug 16611)

cherry-picked from master

16 years agoegl: plug a small memleak
Zack Rusin [Wed, 9 Jul 2008 14:20:28 +0000 (10:20 -0400)]
egl: plug a small memleak

16 years agodraw: remove some debug output
Zack Rusin [Wed, 9 Jul 2008 13:29:49 +0000 (09:29 -0400)]
draw: remove some debug output

16 years agomesa: remove debug code
Brian Paul [Tue, 8 Jul 2008 22:58:50 +0000 (16:58 -0600)]
mesa: remove debug code

16 years agomesa: implement glGetUniformiv() with new ctx->Driver function
Brian Paul [Tue, 8 Jul 2008 22:12:01 +0000 (16:12 -0600)]
mesa: implement glGetUniformiv() with new ctx->Driver function

The old implementation could overwrite the caller's param buffer.

16 years agomesa: fix bug/failure in recursive function inlining
Brian Paul [Tue, 8 Jul 2008 21:04:47 +0000 (15:04 -0600)]
mesa: fix bug/failure in recursive function inlining

Fixes a failure for cases such as y = f(a, f(a, b))
All the usual tests still pass but regressions are possible...

16 years agogallium: tweak printing of generic declarations
Brian Paul [Tue, 8 Jul 2008 21:00:11 +0000 (15:00 -0600)]
gallium: tweak printing of generic declarations

16 years agomesa: more debug output
Brian Paul [Tue, 8 Jul 2008 20:59:31 +0000 (14:59 -0600)]
mesa: more debug output

16 years agomesa: compute global var size before doing codegen
Brian Paul [Tue, 8 Jul 2008 19:05:43 +0000 (13:05 -0600)]
mesa: compute global var size before doing codegen

16 years agomesa: add missing VARYING case to storage_string()
Brian Paul [Tue, 8 Jul 2008 19:02:33 +0000 (13:02 -0600)]
mesa: add missing VARYING case to storage_string()

16 years agoi915: Takedown EGL screen
Jakob Bornecrantz [Tue, 8 Jul 2008 14:54:22 +0000 (16:54 +0200)]
i915: Takedown EGL screen

16 years agoi915: Use deviceID in EGL device create
Jakob Bornecrantz [Tue, 8 Jul 2008 12:44:23 +0000 (14:44 +0200)]
i915: Use deviceID in EGL device create

16 years agoi915: Complete the screen -> device renaming
Jakob Bornecrantz [Tue, 8 Jul 2008 12:41:17 +0000 (14:41 +0200)]
i915: Complete the screen -> device renaming

16 years agoi915: Renamed intel_screen to intel_device
Jakob Bornecrantz [Tue, 8 Jul 2008 12:16:15 +0000 (14:16 +0200)]
i915: Renamed intel_screen to intel_device

The renameing makes more sense, why because:
In egl you have a display/driver/device as the
basis, and you have screens as outputs.

16 years agomesa: added GLAPIENTRY keywords
Jonathan White [Mon, 7 Jul 2008 23:56:29 +0000 (17:56 -0600)]
mesa: added GLAPIENTRY keywords

16 years agoegl: updated GL_APIENTRY for Windows
Jonathan White [Mon, 7 Jul 2008 23:56:09 +0000 (17:56 -0600)]
egl: updated GL_APIENTRY for Windows

16 years agoraw2png: More helpful messages. Handle PIPE_FORMAT_A8B8G8R8_SNORM.
José Fonseca [Mon, 7 Jul 2008 10:35:23 +0000 (19:35 +0900)]
raw2png: More helpful messages. Handle PIPE_FORMAT_A8B8G8R8_SNORM.

16 years agoraw2png: Update formats from p_formats.h
José Fonseca [Mon, 7 Jul 2008 10:29:24 +0000 (19:29 +0900)]
raw2png: Update formats from p_formats.h

16 years agoegl: bump up MAX_ATTRIBS, added assertion
Brian Paul [Mon, 7 Jul 2008 20:34:30 +0000 (14:34 -0600)]
egl: bump up MAX_ATTRIBS, added assertion

16 years agogallium: move assertion (though not really significant)
Brian Paul [Mon, 7 Jul 2008 16:12:55 +0000 (10:12 -0600)]
gallium: move assertion (though not really significant)

16 years agogallium: simplify/fix buffer_offset, src_offset computation for VBO arrays
Brian Paul [Mon, 7 Jul 2008 16:08:43 +0000 (10:08 -0600)]
gallium: simplify/fix buffer_offset, src_offset computation for VBO arrays

Things broke when vertex position wasn't the first attribute.

16 years agoi915: Fix wrong pointer to cleanup
Jakob Bornecrantz [Mon, 7 Jul 2008 13:49:59 +0000 (15:49 +0200)]
i915: Fix wrong pointer to cleanup

16 years agoi915: Fix EGL make current
Jakob Bornecrantz [Mon, 7 Jul 2008 13:49:09 +0000 (15:49 +0200)]
i915: Fix EGL make current

16 years agoi915: More cleanup of display
Jakob Bornecrantz [Mon, 7 Jul 2008 13:26:47 +0000 (15:26 +0200)]
i915: More cleanup of display

16 years agoi915: Fetch the real deviceID for EGL
Jakob Bornecrantz [Mon, 7 Jul 2008 12:29:11 +0000 (14:29 +0200)]
i915: Fetch the real deviceID for EGL

16 years agoi915: Destruction of surface, context and device in EGL
Jakob Bornecrantz [Mon, 7 Jul 2008 11:24:09 +0000 (13:24 +0200)]
i915: Destruction of surface, context and device in EGL

16 years agoi915: Fix EGL version and name
Jakob Bornecrantz [Sat, 5 Jul 2008 14:46:04 +0000 (16:46 +0200)]
i915: Fix EGL version and name

16 years agoi915: Added a intel be function to wrap a drm bo handle
Jakob Bornecrantz [Sat, 5 Jul 2008 13:58:42 +0000 (15:58 +0200)]
i915: Added a intel be function to wrap a drm bo handle

16 years agoi915: Fix haveDepth and haveStencil for visual in EGL
Jakob Bornecrantz [Sat, 5 Jul 2008 12:04:02 +0000 (14:04 +0200)]
i915: Fix haveDepth and haveStencil for visual in EGL

16 years agosoftpipe: Prevent NULL ptr derreference on takedown.
José Fonseca [Fri, 4 Jul 2008 18:21:27 +0000 (03:21 +0900)]
softpipe: Prevent NULL ptr derreference on takedown.

16 years agosoftpipe: Compute block size for display targets.
José Fonseca [Fri, 4 Jul 2008 18:19:56 +0000 (03:19 +0900)]
softpipe: Compute block size for display targets.

16 years agoi915: Added debug filling code of texture, not active
Jakob Bornecrantz [Fri, 4 Jul 2008 17:23:52 +0000 (19:23 +0200)]
i915: Added debug filling code of texture, not active

16 years agoi915: Clean up intel_egl.c a bit
Jakob Bornecrantz [Fri, 4 Jul 2008 17:20:08 +0000 (19:20 +0200)]
i915: Clean up intel_egl.c a bit

16 years agoegl: Add egltri
Jakob Bornecrantz [Fri, 4 Jul 2008 17:33:09 +0000 (19:33 +0200)]
egl: Add egltri

First tri for EGL drivers with mesa screen ext

16 years agomesa: Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.
Brian Paul [Fri, 4 Jul 2008 16:37:07 +0000 (10:37 -0600)]
mesa: Replace Proxy1D/2D/etc with ProxyTex[] indexed by TEXTURE_x_INDEX.

Simplification in colortab.c too.

cherry-picked from master (fe469007037d9d5cdbe1677d8ff7368b276e9e7c)

16 years agogallium: fix st_choose_format(internalFormat=GL_RGBA16)
Brian Paul [Fri, 4 Jul 2008 16:35:32 +0000 (10:35 -0600)]
gallium: fix st_choose_format(internalFormat=GL_RGBA16)

Need to check if we're choosing a surface or texture format.

16 years agomesa: Implement mutex/locking around texture object reference counting.
Brian Paul [Fri, 4 Jul 2008 16:29:15 +0000 (10:29 -0600)]
mesa: Implement mutex/locking around texture object reference counting.

Use new _mesa_reference_texobj() function for referencing/unreferencing
textures.  Add new assertions/tests to try to detect invalid usage of
deleted textures.

cherry-picked from master (9e01b915f1243a3f551cb795b7124bd1e52ca15f)

16 years agogallium: replace assertion with conditional
Brian Paul [Fri, 4 Jul 2008 16:02:16 +0000 (10:02 -0600)]
gallium: replace assertion with conditional

16 years agogallium: fix trim() function bug when count < first
Brian Paul [Fri, 4 Jul 2008 15:59:43 +0000 (09:59 -0600)]
gallium: fix trim() function bug when count < first

If the user called glDrawArrays(GL_TRIANGLES, count=1), trim() returned a
very large integer because of the unsigned arithmetic.

16 years agomesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn...
Brian Paul [Fri, 4 Jul 2008 15:58:14 +0000 (09:58 -0600)]
mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if program isn't linked

16 years agomesa: move assertion
Brian Paul [Fri, 4 Jul 2008 15:56:08 +0000 (09:56 -0600)]
mesa: move assertion

16 years agopsb: Fill all texture fields when creating texture blanket.
José Fonseca [Fri, 4 Jul 2008 15:56:36 +0000 (00:56 +0900)]
psb: Fill all texture fields when creating texture blanket.

16 years agosoftpipe: Implement texture blankets.
José Fonseca [Fri, 4 Jul 2008 15:55:18 +0000 (00:55 +0900)]
softpipe: Implement texture blankets.

16 years agoscons: Enable gcc SSE2 intrinsics on x86.
José Fonseca [Fri, 4 Jul 2008 13:27:50 +0000 (22:27 +0900)]
scons: Enable gcc SSE2 intrinsics on x86.

16 years agomesa: added _vbo_VertexAttrib4f()
Brian Paul [Thu, 3 Jul 2008 22:59:24 +0000 (16:59 -0600)]
mesa: added _vbo_VertexAttrib4f()

16 years agomesa: fix incorrect array size, added assertion
Brian Paul [Thu, 3 Jul 2008 22:24:26 +0000 (16:24 -0600)]
mesa: fix incorrect array size, added assertion

16 years agomesa: fix array storage allocation bug
Brian Paul [Thu, 3 Jul 2008 22:23:18 +0000 (16:23 -0600)]
mesa: fix array storage allocation bug

16 years agomesa: regenerated file
Brian Paul [Thu, 3 Jul 2008 22:22:49 +0000 (16:22 -0600)]
mesa: regenerated file

16 years agomesa: additional vec4 constructor
Brian Paul [Thu, 3 Jul 2008 22:22:36 +0000 (16:22 -0600)]
mesa: additional vec4 constructor

16 years agomesa: fix various error codes
Brian Paul [Thu, 3 Jul 2008 22:21:15 +0000 (16:21 -0600)]
mesa: fix various error codes

16 years agomesa: fix some error codes in _mesa_ShaderSourceARB()
Brian Paul [Thu, 3 Jul 2008 22:02:13 +0000 (16:02 -0600)]
mesa: fix some error codes in _mesa_ShaderSourceARB()

16 years agomesa: fix problem freeing framebuffer/renderbuffer objects
Brian Paul [Thu, 3 Jul 2008 21:41:45 +0000 (15:41 -0600)]
mesa: fix problem freeing framebuffer/renderbuffer objects

Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer obj

16 years agogallium: added a4r4g4b4_put_tile_rgba()
Brian Paul [Thu, 3 Jul 2008 20:55:14 +0000 (14:55 -0600)]
gallium: added a4r4g4b4_put_tile_rgba()

16 years agomesa: added case for fixed pt
Brian Paul [Thu, 3 Jul 2008 20:12:27 +0000 (14:12 -0600)]
mesa: added case for fixed pt

16 years agogallium: increase TGSI interpreter's number of temp registers to 64
Brian Paul [Thu, 3 Jul 2008 18:56:33 +0000 (12:56 -0600)]
gallium: increase TGSI interpreter's number of temp registers to 64

Also, clean up the definitions of the misc/extra temp regs.
A few new assertions too.

16 years agogallium: move, increase ST_MAX_SHADER_TOKENS
Brian Paul [Thu, 3 Jul 2008 16:43:14 +0000 (10:43 -0600)]
gallium: move, increase ST_MAX_SHADER_TOKENS

16 years agogallium: increase TGSI_EXEC_MAX_COND_NESTING, etc
Brian Paul [Thu, 3 Jul 2008 16:42:31 +0000 (10:42 -0600)]
gallium: increase TGSI_EXEC_MAX_COND_NESTING, etc

16 years agogallium: fix surface memleak in bitmap code
Brian Paul [Thu, 3 Jul 2008 16:12:00 +0000 (10:12 -0600)]
gallium: fix surface memleak in bitmap code

Found w/ tunnel2.c demo.

16 years agopipebuffer: Silent warnings.
José Fonseca [Thu, 3 Jul 2008 12:28:56 +0000 (21:28 +0900)]
pipebuffer: Silent warnings.

Although rarely hit in normal apps, they are too noisy with test suites.

16 years agoSupport conversion of YUV surfaces.
José Fonseca [Thu, 3 Jul 2008 10:55:14 +0000 (19:55 +0900)]
Support conversion of YUV surfaces.

16 years agogallium: Don't forget to get overllaping blits working again.
José Fonseca [Thu, 3 Jul 2008 10:52:05 +0000 (19:52 +0900)]
gallium: Don't forget to get overllaping blits working again.

16 years agoi915: EGL almost works again
Jakob Bornecrantz [Thu, 3 Jul 2008 10:12:25 +0000 (12:12 +0200)]
i915: EGL almost works again

16 years agoegl: Fix demodriver
Jakob Bornecrantz [Thu, 3 Jul 2008 10:10:36 +0000 (12:10 +0200)]
egl: Fix demodriver

16 years agogallium: Use surface_copy for 1:1 blits.
José Fonseca [Thu, 3 Jul 2008 06:02:56 +0000 (15:02 +0900)]
gallium: Use surface_copy for 1:1 blits.

16 years agoscons: Add a env.CodeGenerate method to simplify code generation via python scripts.
José Fonseca [Thu, 3 Jul 2008 03:42:23 +0000 (12:42 +0900)]
scons: Add a env.CodeGenerate method to simplify code generation via python scripts.

env.CodeGenerate(
target = 'my_source.c',
script = 'my_generator.py',
source = ['input.txt', 'another.txt'],
command = 'python $SCRIPT $SOURCE > $TARGET'
)

It will take care generating all appropriate dependencies, including any
module imported by the generator script, and the respective .pyc file
side effects.

16 years agomesa: fix vertex array validation test for attribute 0 (vert pos)
Brian Paul [Thu, 3 Jul 2008 01:18:10 +0000 (19:18 -0600)]
mesa: fix vertex array validation test for attribute 0 (vert pos)

We don't actually need vertex array[0] enabled when using a vertex
program/shader.

cherry-picked from master

16 years agogallium: replace an assertion with "if (!texobj) continue"
Brian Paul [Thu, 3 Jul 2008 01:11:49 +0000 (19:11 -0600)]
gallium: replace an assertion with "if (!texobj) continue"

It's possible to call update_samplers() between the time a fragment shader
is bound and when a texture image is defined (such as glClear).  This
fixes the case where we don't have a complete texture object yet.

16 years agogallium: fix a bug in vertex program output mapping
Brian Paul [Thu, 3 Jul 2008 01:07:11 +0000 (19:07 -0600)]
gallium: fix a bug in vertex program output mapping

Need to translate VERT_RESULT_PSIZ, BFC0, BFC1 to TGSI shader output slots
after all other attributes have been handled.  This fixes a bug where
generic vertex program outputs (varying vars) could get mapped to the
same slot at point size or back-face colors.

16 years agogallium: nr_attrs was off by one, updated comments, minor code movement
Brian Paul [Thu, 3 Jul 2008 01:05:18 +0000 (19:05 -0600)]
gallium: nr_attrs was off by one, updated comments, minor code movement

16 years agomesa: additional GLSL built-in constants
Brian Paul [Wed, 2 Jul 2008 23:10:42 +0000 (17:10 -0600)]
mesa: additional GLSL built-in constants

16 years agomesa: when linking a shader program, make sure all the shaders compiled OK
Brian Paul [Wed, 2 Jul 2008 23:08:47 +0000 (17:08 -0600)]
mesa: when linking a shader program, make sure all the shaders compiled OK

cherry-picked from master

16 years agomesa: added some debug code (disabled)
Brian Paul [Wed, 2 Jul 2008 23:08:28 +0000 (17:08 -0600)]
mesa: added some debug code (disabled)

cherry-picked from master

16 years agomesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()
Brian Paul [Wed, 2 Jul 2008 23:08:09 +0000 (17:08 -0600)]
mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()

If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE
or GL_INVALID_OPERATION.  It depends on whether 'shader' actually names a
'program' or is a totally unknown ID.
There might be other cases to fix...

cherry-picked from master

16 years agomesa: regenerated file
Brian Paul [Wed, 2 Jul 2008 23:06:26 +0000 (17:06 -0600)]
mesa: regenerated file

16 years agomesa: added some missing equal() notEqual() intrinsics
Brian Paul [Wed, 2 Jul 2008 23:05:56 +0000 (17:05 -0600)]
mesa: added some missing equal() notEqual() intrinsics

cherry-picked from master

16 years agomesa: disable some debug assertions
Brian Paul [Wed, 2 Jul 2008 18:47:18 +0000 (12:47 -0600)]
mesa: disable some debug assertions

We can sometimes fail these assertions because of how swizzled storage
works.  Will revisit someday.

16 years agomesa: regenerated files
Brian Paul [Wed, 2 Jul 2008 18:46:18 +0000 (12:46 -0600)]
mesa: regenerated files

16 years agomesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors
Brian Paul [Wed, 2 Jul 2008 18:45:55 +0000 (12:45 -0600)]
mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctors

cherry-picked from master

16 years agogallium: replace 128 with MAX_LABELS
Brian Paul [Wed, 2 Jul 2008 18:41:18 +0000 (12:41 -0600)]
gallium: replace 128 with MAX_LABELS

16 years agomesa: added _mesa_print_swizzle() debugging helper
Brian Paul [Wed, 2 Jul 2008 18:40:03 +0000 (12:40 -0600)]
mesa: added _mesa_print_swizzle() debugging helper

16 years agomesa: fix issues around multisample enable
Roland Scheidegger [Wed, 2 Jul 2008 18:08:27 +0000 (20:08 +0200)]
mesa: fix issues around multisample enable

multisample enable is enabled by default, however gl mandates multisample
rendering rules only apply if there's also a multisampled buffer.

16 years agogallium: Allow draw module to work on non-x86 platforms again.
Michel Dänzer [Wed, 2 Jul 2008 10:10:15 +0000 (12:10 +0200)]
gallium: Allow draw module to work on non-x86 platforms again.

16 years agopipebuffer: Debug buffer manager to detect buffer under- and overflows.
José Fonseca [Wed, 2 Jul 2008 03:24:19 +0000 (12:24 +0900)]
pipebuffer: Debug buffer manager to detect buffer under- and overflows.

It should detect both cpu and gpu buffer overflows.

16 years agopipebuffer: Verify usage flag consistency. Minor cleanups.
José Fonseca [Wed, 2 Jul 2008 03:22:51 +0000 (12:22 +0900)]
pipebuffer: Verify usage flag consistency. Minor cleanups.

16 years agomesa: fix a GLSL vector subscript/writemask bug
Brian Paul [Wed, 2 Jul 2008 00:40:23 +0000 (18:40 -0600)]
mesa: fix a GLSL vector subscript/writemask bug

This fixes a failure for cases like:
   vec4 v;
   v[1] *= 2.0;

The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.

cherry-picked from master

16 years agomesa: move some functions
Brian Paul [Wed, 2 Jul 2008 00:39:46 +0000 (18:39 -0600)]
mesa: move some functions

cherry-picked from master

16 years agomesa: make _slang_swizzle_swizzle() non-private
Brian Paul [Wed, 2 Jul 2008 00:39:22 +0000 (18:39 -0600)]
mesa: make _slang_swizzle_swizzle() non-private

cherry-picked from master

16 years agomesa: better function inlining in the presence of 'return' statements
Brian Paul [Tue, 1 Jul 2008 17:48:57 +0000 (11:48 -0600)]
mesa: better function inlining in the presence of 'return' statements

Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.

cherry-picked from master

16 years agomesa: add/fix some IrInfo entries for debugging purposes
Brian Paul [Tue, 1 Jul 2008 17:48:27 +0000 (11:48 -0600)]
mesa: add/fix some IrInfo entries for debugging purposes

cherry-picked from master

16 years agoi915: Last reference to surface -> pitch
Jakob Bornecrantz [Tue, 1 Jul 2008 13:52:37 +0000 (15:52 +0200)]
i915: Last reference to surface -> pitch

16 years agogallium: Use the inline keyword on C++.
José Fonseca [Tue, 1 Jul 2008 13:04:58 +0000 (22:04 +0900)]
gallium: Use the inline keyword on C++.

16 years agoscons: Output mapfile on windows ddk profile builds.
José Fonseca [Tue, 1 Jul 2008 13:04:01 +0000 (22:04 +0900)]
scons: Output mapfile on windows ddk profile builds.

16 years agogles: Don't define GLAPIENTRY here.
José Fonseca [Mon, 30 Jun 2008 03:49:14 +0000 (12:49 +0900)]
gles: Don't define GLAPIENTRY here.

16 years agomesa: added null ptr checks
Brian Paul [Sat, 28 Jun 2008 22:47:39 +0000 (16:47 -0600)]
mesa: added null ptr checks

16 years agos/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
Brian Paul [Sat, 28 Jun 2008 22:47:22 +0000 (16:47 -0600)]
s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()

16 years agomesa: check FEATURE_point_size_array
Brian Paul [Sat, 28 Jun 2008 22:15:03 +0000 (16:15 -0600)]
mesa: check FEATURE_point_size_array

16 years agoegl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE attributes
Brian Paul [Sat, 28 Jun 2008 22:04:01 +0000 (16:04 -0600)]
egl: set config's EGL_CONFORMANT, EGL_RENDERABLE_TYPE, EGL_SURFACE_TYPE attributes

16 years agoegl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertions
Brian Paul [Sat, 28 Jun 2008 22:03:28 +0000 (16:03 -0600)]
egl: fix default value of EGL_SURFACE_TYPE, added some sanity check assertions