Brian Paul [Tue, 16 Dec 2008 01:25:43 +0000 (18:25 -0700)]
Merge branch 'glsl-1.20-v2'
Brian Paul [Tue, 16 Dec 2008 01:24:16 +0000 (18:24 -0700)]
mesa: bump glsl grammar revision
And update some copyrights.
Brian Paul [Tue, 9 Dec 2008 21:30:42 +0000 (14:30 -0700)]
mesa: in slang linker, replace assertion with link error when max samplers exceeded
Brian Paul [Tue, 9 Dec 2008 21:29:14 +0000 (14:29 -0700)]
demos: updated tests/floattex.c (doesn't work just yet).
Brian Paul [Tue, 9 Dec 2008 21:26:02 +0000 (14:26 -0700)]
mesa: move _mesa_dlopen(), etc into separate dlopen.c file
Brian Paul [Mon, 8 Dec 2008 22:42:54 +0000 (15:42 -0700)]
glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
Set GLUT_PPM_FILE to the desired filename. The first frame rendered will
be written to that file.
Brian Paul [Tue, 16 Dec 2008 01:18:08 +0000 (18:18 -0700)]
mesa: more re-org of variable declarations in glsl compiler
Brian Paul [Mon, 15 Dec 2008 23:57:37 +0000 (16:57 -0700)]
mesa: more comments, clean up
Brian Paul [Mon, 15 Dec 2008 23:49:32 +0000 (16:49 -0700)]
mesa: added comments, remove unused code
Brian Paul [Mon, 15 Dec 2008 23:44:55 +0000 (16:44 -0700)]
mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()
This allows uniform declarations with scalar/array initializers.
The code is rough though, and will be cleaned up.
Eric Anholt [Mon, 15 Dec 2008 23:10:18 +0000 (15:10 -0800)]
intel: stub out CompressedTexSubImage2D instead of segfaulting.
Eric Anholt [Mon, 15 Dec 2008 21:25:20 +0000 (13:25 -0800)]
i965: Update state before checking for fallbacks in brw_try_draw_prims.
This got flipped around in
7855b2aef6bd9e9c2d73260b5cd166159b2525c6.
Bug #18907. Thanks to idr for pointing me at a nicer testcase than blender.
Pierre Willenbrock [Fri, 12 Dec 2008 20:18:23 +0000 (21:18 +0100)]
intel: Don't steal renderbuffer from caller in intel_miptree_create_for_region
Fixes double-frees of some regions, once from the renderbuffer code and
once from the miptree itself.
Bug #19062
Eric Anholt [Wed, 10 Dec 2008 20:43:58 +0000 (12:43 -0800)]
i965: Add decode of index/vertex buffer and primitive emit.
Eric Anholt [Wed, 10 Dec 2008 07:02:48 +0000 (23:02 -0800)]
intel: Add batchbuffer assertions to hopefully catch future mistakes.
Ian Romanick [Mon, 15 Dec 2008 02:42:11 +0000 (18:42 -0800)]
Perform range checking on app supplied texture base level
It is possible for applications to specify any texture base level,
including trivially invalid values (i.e.,
47000000). When an app
specifies an invalide base level, we should gracefully disable the
texture instead of accessing memory outside the gl_texture_object.
This fixes an occasional segfault in one of our conformance tests.
Ian Romanick [Mon, 15 Dec 2008 02:40:39 +0000 (18:40 -0800)]
GLX: Include glapi.h before glapitable.h
A previous commit (
2dbc515a669be123a019aeb4aa5aae6b1679f6a9) change
some of the interdependencies between these two header files. Now
glapi.h must be included before glapitable.h.
Ian Romanick [Fri, 12 Dec 2008 20:59:59 +0000 (12:59 -0800)]
GLX: Change resulting from previous commit
Commit
db61cbfa2aa241da49589331d8b6875d9a77d826 made modifications to
the protocol generator data and scripts. This commit represents the
changes to the generated files resulting from the previous changes.
This is the client-side part of the fix for bugzilla #11003.
Neil Roberts [Tue, 2 Dec 2008 15:03:01 +0000 (15:03 +0000)]
Return 0 as the request size when the pixels parameter is NULL
img_null_flag was being ignored when calculating the size of a request
so a BadLength error gets thrown for glTexImage3D when the pixels
parameter is NULL.
See bug #11003
Ian Romanick [Tue, 9 Dec 2008 22:43:09 +0000 (14:43 -0800)]
GLX: Fix protocol for glTexSubImage#D
The TexSubImage commands do not have the "NULL image" flag that was
introduced with glTexImage3D. However, there is a CARD32 pad element
where that flag would be. Removing the img_null_flag causes the flag
to be removed from the protocol. This changes the protocol and breaks
everything.
In order to prevent needing to hand-code all of the TexSubImage
functions, a new attribute was added to the param element. This new
attribute, called "padding," is a boolean flag that selects whether or
not the parameter is a real parameter (default / false) or is protocol
padding (true) that does not appear in the function's parameter list.
This change resulted in a number of changes to other Python scripts.
In almost all cases parameters with the is_padding flag set should not
be emitted.
This patch only changes the the XML, the DTD, and the generator
scripts. It does NOT include the resulting changes to the generated
code. Generated code in the X server is also changed by the script /
XML changes in this patch.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Dan Nicholson [Sun, 14 Dec 2008 17:35:29 +0000 (09:35 -0800)]
Add OSMesa pkg-config file
This makes the GLU .pc file a little simpler, too.
Dan Nicholson [Mon, 24 Nov 2008 19:01:57 +0000 (11:01 -0800)]
Add more package metadata to the pkg-config files
The pkg-config files have been filled in more thoroughly to allow users
to use mesa more effectively. By adding metadata to Requires.private,
Libs.private and Cflags, we can ensure that all the libraries and
headers will be found in all situations. However, the full substitutions
are only done when using the configure script.
This also fixes the glu pkg-config file to account for using GL or
OSMesa.
Fixes bug 18161.
Gary Wong [Sun, 14 Dec 2008 03:06:21 +0000 (20:06 -0700)]
Fix silly type mismatch error in multinoise demo.
Gary Wong [Sat, 13 Dec 2008 21:15:33 +0000 (14:15 -0700)]
i965: Finish OPCODE_NOISEn instructions.
Added missing OPCODE_NOISE4, and use BRW_REGISTER_TYPE_D (instead of _UD)
in the initial RNDD instructions (which avoids saturating negative inputs
to 0).
Gary Wong [Sat, 13 Dec 2008 21:00:37 +0000 (14:00 -0700)]
Add "multinoise" demo, to test 1/2/3/4 dimensional noise.
Gary Wong [Sat, 13 Dec 2008 19:58:18 +0000 (12:58 -0700)]
Ensure p.w is initialised in noise demo.
Brian Paul [Sat, 13 Dec 2008 01:03:48 +0000 (18:03 -0700)]
mesa: use IFLOOR(x) instead of (int) FLOORF(x)
Brian Paul [Sat, 13 Dec 2008 01:00:47 +0000 (18:00 -0700)]
mesa: place glsl constant arrays in constant memory
For example, a declaration like
const float[3] xxx = float[3](1.1, 2.2, 3.3);
will place the array in the constant buffer whereas a regular, non-const array
would be placed in the temporary register file.
Next up: do the same thing for uniform arrays.
Brian Paul [Sat, 13 Dec 2008 01:00:19 +0000 (18:00 -0700)]
mesa: remove old size=4 limit
Brian Paul [Fri, 12 Dec 2008 23:20:31 +0000 (16:20 -0700)]
mesa: code clean-up in glsl compiler
Brian Paul [Fri, 12 Dec 2008 23:02:31 +0000 (16:02 -0700)]
mesa: remove unneeded swizzle init code in glsl compiler
Brian Paul [Fri, 12 Dec 2008 22:34:58 +0000 (15:34 -0700)]
mesa: disable glsl debug output
Brian Paul [Fri, 12 Dec 2008 22:11:08 +0000 (15:11 -0700)]
mesa: remove unused varpool code in glsl compiler
Brian Paul [Fri, 12 Dec 2008 22:07:21 +0000 (15:07 -0700)]
mesa: basic array constructors work now
For example: float[3] xxx = float[3](1.1, 2.2, 3.3);
Optimizations for const-qualified arrays next.
Brian Paul [Fri, 12 Dec 2008 22:01:00 +0000 (15:01 -0700)]
mesa: copy array_len in slang_fully_specified_type_copy()
Brian Paul [Fri, 12 Dec 2008 22:00:06 +0000 (15:00 -0700)]
mesa: remove incorrect array_len assignment
Brian Paul [Fri, 12 Dec 2008 20:18:30 +0000 (13:18 -0700)]
mesa: array size fix in _slang_typeof_operation()
Brian Paul [Fri, 12 Dec 2008 20:05:29 +0000 (13:05 -0700)]
mesa: fix some more GLSL 1.20 array things.
Function that return arrays should work now.
Brian Paul [Fri, 12 Dec 2008 17:32:56 +0000 (10:32 -0700)]
mesa: more glsl function renaming
Brian Paul [Fri, 12 Dec 2008 17:29:15 +0000 (10:29 -0700)]
mesa: use _slang_alloc()
Brian Paul [Fri, 12 Dec 2008 17:22:47 +0000 (10:22 -0700)]
mesa: glsl compiler function renaming
Brian Paul [Fri, 12 Dec 2008 17:17:58 +0000 (10:17 -0700)]
mesa: more glsl type/function movement
Brian Paul [Fri, 12 Dec 2008 17:11:41 +0000 (10:11 -0700)]
mesa: move some glsl compiler functions to different files to be more consistant
Brian Paul [Fri, 12 Dec 2008 17:03:31 +0000 (10:03 -0700)]
mesa: move _slang_locate_function() to different file
Brian Paul [Fri, 12 Dec 2008 16:58:18 +0000 (09:58 -0700)]
mesa: remove unused fixup table code in glsl compiler
Brian Paul [Fri, 12 Dec 2008 16:56:13 +0000 (09:56 -0700)]
mesa: checkpoint: GLSL 1.20 array constructors
Brian Paul [Fri, 12 Dec 2008 02:34:43 +0000 (19:34 -0700)]
mesa: consolidate variable declaration initializer code for globals too
Brian Paul [Fri, 12 Dec 2008 02:28:22 +0000 (19:28 -0700)]
mesa: move variable initializer IR generation into _slang_gen_var_decl()
More code consolidation coming...
Brian Paul [Fri, 12 Dec 2008 02:10:58 +0000 (19:10 -0700)]
mesa: simplify some glsl variable declaration code
Xiang, Haihao [Fri, 12 Dec 2008 02:02:05 +0000 (10:02 +0800)]
intel: check for null texture. (fix #13902)
Brian Paul [Fri, 12 Dec 2008 01:49:28 +0000 (18:49 -0700)]
mesa: glsl clean-ups
Brian Paul [Fri, 12 Dec 2008 01:02:19 +0000 (18:02 -0700)]
mesa: checkpoint commit of GLSL 1.20 array syntax.
This allows things like float[3] x = float[3](1., 2., 3.);
Parsing and AST construction now. Codegen not working yet.
Xiang, Haihao [Thu, 11 Dec 2008 06:03:00 +0000 (14:03 +0800)]
i915: fallback for cube map texture.
The i915 (and related graphics cores) only support TEXCOORDMODE_CLAMP and
TEXCOORDMODE_CUBE when using cube map texture coordinates, so fall back to
software rendering for other modes to avoid potential gpu hang issue. This
fixes scorched3d issue on 945GM(see bug 14539).
Brian Paul [Tue, 9 Dec 2008 21:30:42 +0000 (14:30 -0700)]
mesa: in slang linker, replace assertion with link error when max samplers exceeded
Brian Paul [Tue, 9 Dec 2008 21:29:14 +0000 (14:29 -0700)]
demos: updated tests/floattex.c (doesn't work just yet).
Brian Paul [Tue, 9 Dec 2008 21:26:02 +0000 (14:26 -0700)]
mesa: move _mesa_dlopen(), etc into separate dlopen.c file
Guillaume Melquiond [Tue, 9 Dec 2008 21:15:05 +0000 (13:15 -0800)]
tnl: Fix zeroing of the 3ub part of a 3ub+1ub attrib pair in SSE.
Bug #16520.
Guillaume Melquiond [Tue, 9 Dec 2008 21:10:56 +0000 (13:10 -0800)]
tnl: Optimize SSE load[23]f_1 since they don't need the identity swizzle.
SSE movss from memory zeroes out everything above the destination dword, so
we get the (a, 0) or (a, 0, 0) result that these functions needed.
Bug #16520.
Guillaume Melquiond [Tue, 9 Dec 2008 19:42:24 +0000 (11:42 -0800)]
tnl: Fix typo that resulted in fallback from SSE for EMIT_3UB_3F_RGB/BGR.
Bug #16520
Guillaume Melquiond [Tue, 9 Dec 2008 17:29:08 +0000 (09:29 -0800)]
tnl: Avoid undefined input value use in insert_3f_viewport_2().
Bug #16520.
Brian Paul [Mon, 8 Dec 2008 22:42:54 +0000 (15:42 -0700)]
glut: added GLUT_PPM_FILE env var to dump first frame to a PPM file
Set GLUT_PPM_FILE to the desired filename. The first frame rendered will
be written to that file.
Pierre Willenbrock [Mon, 8 Dec 2008 22:06:51 +0000 (14:06 -0800)]
intel: Require the right amount of space in glBitmap blit acceleration.
This leads to problems when the batchbuffer is flushed, but the bitmap
data could not fit into it.
Eric Anholt [Sun, 7 Dec 2008 05:14:56 +0000 (21:14 -0800)]
mesa: Fix GenerateMipmapEXT(GL_TEXTURE_CUBE_MAP_ARB).
The ctx->Driver.GenerateMipmap() hook only expects cubemap face enums, not
CUBE_MAP_ARB, so walk all faces when we encounter that. Fixes oglconform
fbo.c segfault with both swrast and i965 drivers.
Eric Anholt [Sat, 6 Dec 2008 23:47:23 +0000 (15:47 -0800)]
intel: Fall back on rendering to a texture attachment with a border.
Fixes a segfault in oglconform fbo.c test.
Eric Anholt [Sat, 6 Dec 2008 23:21:47 +0000 (15:21 -0800)]
intel: Fix crash in automatic mipmap generation for glCopyTex{Sub,}Image.
The images aren't mapped at this point, so we want the generic Mesa path for
GenerateMipmapEXT that does the mapping/unmapping for us. Ideally Mesa would
just call it for us.
Eric Anholt [Sat, 6 Dec 2008 22:51:17 +0000 (14:51 -0800)]
intel: Fix glCopyPixels blit acceleration for FBO destinations.
This was another opportunity to either get clipped to screen size or not get
clipped enough and draw outside of object boundaries.
Eric Anholt [Sat, 6 Dec 2008 22:21:12 +0000 (14:21 -0800)]
intel: Fix glBitmap blit acceleration for FBO destinations.
Bug #18914. Fixes fbo_firecube hang due to drawing outside the FBO bounds.
Thanks to Pierre Willenbrock for debugging the issue.
Eric Anholt [Wed, 3 Dec 2008 23:32:51 +0000 (15:32 -0800)]
intel: Put CopyTexImage fallback under DEBUG_FALLBACKS not DEBUG_TEXTURE.
Brian [Sun, 30 Nov 2008 00:25:44 +0000 (17:25 -0700)]
mesa: assorted clean-ups, updated comments, etc.
Brian [Sat, 29 Nov 2008 23:03:40 +0000 (16:03 -0700)]
mesa: replace large macros with inline functions
Brian [Wed, 3 Dec 2008 05:51:39 +0000 (22:51 -0700)]
demos: added simple vertex shader texture test.
Draw a quadmesh where Z coord is taken from a texture map.
Jeremy Huddleston [Thu, 4 Dec 2008 01:03:13 +0000 (17:03 -0800)]
darwin: Use -Os instead of -O2
(cherry picked from commit
456dbb143a0d11b69d8af0d493cd84efb0596273)
Eric Anholt [Wed, 3 Dec 2008 19:36:55 +0000 (11:36 -0800)]
i965: Fix failure to upload new constant data when changing programs.
This is fallout from the ffvertex_prog.c work. It doesn't call
ProgramStringNotify, so we don't set param_state, so we wouldn't track when
VP parameters changed, and constants wouldn't get uploaded. Instead, remove
param_state entirely and just use the real value that we want to be tracking.
Fixes rendering in openarena since BRW_NEW_BATCH got disentangled from
BRW_NEW_INDICES.
Bug #18822.
Eric Anholt [Wed, 3 Dec 2008 19:30:58 +0000 (11:30 -0800)]
i965: Fix stray character that the compile whined about.
Kristian Høgsberg [Tue, 2 Dec 2008 02:44:03 +0000 (21:44 -0500)]
Bump dri2proto requirement to 1.99.3, drop CopyRegion bitmask from protocol.
Dave Airlie [Fri, 28 Nov 2008 09:38:47 +0000 (19:38 +1000)]
intel: restore old vertex submit paths for i8xx hardware.
Intel docs state that only 830/845 have VBOs, 855/865 don't. So
lets just not use them on i8xx at all.
This restores the old pre-vbo code and uses it on all 8xx hw.
Brian [Tue, 2 Dec 2008 01:32:47 +0000 (18:32 -0700)]
mesa: fix conditional in save_Lightfv(), bug 18838
Eric Anholt [Fri, 28 Nov 2008 20:43:10 +0000 (12:43 -0800)]
i965: Add a new state flag BRW_NEW_NR_SURFACES instead of CACHE_NEW_SURFACE
The CACHE_NEW_SURFACE bit always gets spammed since we get many different
surface BOs per state emit, but the only consumer of it wanted to just know
how many surfaces were enabled.
Eric Anholt [Fri, 28 Nov 2008 20:16:51 +0000 (12:16 -0800)]
i965: Fix clashing enums for BRW_NEW_INDICES/VERTICES versus BATCH/DEPTH_BUFFER.
Fixes upload of large amounts of state for every new primitive emit.
Eric Anholt [Fri, 28 Nov 2008 19:58:00 +0000 (11:58 -0800)]
i965: Remove BRW_WM_LOCK dirty bit, introduced to work around lack of relocs.
This was causing a prepare of wm state at every primitive emit.
Eric Anholt [Thu, 27 Nov 2008 20:26:00 +0000 (12:26 -0800)]
i965: Add debug code for dumping how frequently different dirty bits are set.
Eric Anholt [Thu, 27 Nov 2008 04:42:59 +0000 (20:42 -0800)]
i915: Remove dead early z enable bit which was always on.
Eric Anholt [Thu, 27 Nov 2008 03:22:37 +0000 (19:22 -0800)]
i965: Reduce fast-pathiness of brw_try_draw_prims, bringing in important checks.
Later primitives, even if they caused a full state validate, wouldn't check
that there was enough space in the batchbuffer, occasionally triggering the
sanity check. We also skipped the aperture space check, even if it would
mean bringing in new programs and associated state.
Brian Paul [Fri, 28 Nov 2008 23:17:38 +0000 (16:17 -0700)]
mesa: add missing break statements
Brian Paul [Fri, 28 Nov 2008 21:08:04 +0000 (14:08 -0700)]
mesa: enable texture compression extensions for software drivers when possible
Phillip Klaus Krause [Fri, 28 Nov 2008 20:54:08 +0000 (13:54 -0700)]
mesa: remove unneeded compressed texure size checks
Brian Paul [Fri, 28 Nov 2008 20:50:41 +0000 (13:50 -0700)]
mesa: fix default switch case in append_token(), see bug 18734
Brian Paul [Thu, 27 Nov 2008 18:01:30 +0000 (11:01 -0700)]
mesa: remove an assertion (see bug 18734)
RALOVICH, Kristóf [Thu, 27 Nov 2008 11:53:43 +0000 (12:53 +0100)]
Revert "glx: xcbified visual and FBConfig choosing"
This reverts commit
62688f11355cfa865d420755aa159875b425cc9b.
RALOVICH, Kristóf [Thu, 27 Nov 2008 11:53:19 +0000 (12:53 +0100)]
Revert "glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX"
This reverts commit
53698765019e50172be25a4ff48c83d54f0e7981.
RALOVICH, Kristóf [Sat, 8 Nov 2008 17:18:26 +0000 (18:18 +0100)]
glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX
This uses a GLX VendorPrivate request. VendorPrivates are real GLX API
calls but use the same protocol request. XCB does not currently
support specific VendorPrivetes directly. See eg.:
http://lists.freedesktop.org/archives/xcb/2008-November/004036.html
for more information.
RALOVICH, Kristóf [Sat, 8 Nov 2008 16:58:55 +0000 (17:58 +0100)]
glx: remove XCB debug leftover
RALOVICH, Kristóf [Tue, 4 Nov 2008 16:30:21 +0000 (17:30 +0100)]
glx: xcbified glXSwapBuffers
RALOVICH, Kristóf [Tue, 4 Nov 2008 16:17:18 +0000 (17:17 +0100)]
glx: xcbified visual and FBConfig choosing
RALOVICH, Kristóf [Tue, 4 Nov 2008 11:41:55 +0000 (12:41 +0100)]
glx: xcbified __glXClientInfo
RALOVICH, Kristóf [Tue, 4 Nov 2008 10:53:32 +0000 (11:53 +0100)]
configure.ac: advertise XCB
RALOVICH, Kristóf [Tue, 4 Nov 2008 10:31:53 +0000 (11:31 +0100)]
glx: no graphics context during initialization
RALOVICH, Kristóf [Tue, 4 Nov 2008 09:59:39 +0000 (10:59 +0100)]
glx: xcbified __glXIsDirect
RALOVICH, Kristóf [Tue, 4 Nov 2008 09:43:06 +0000 (10:43 +0100)]
glx: missing static on local function
RALOVICH, Kristóf [Mon, 3 Nov 2008 17:32:35 +0000 (18:32 +0100)]
glx: use __glXGetString