Kristian Høgsberg [Wed, 26 Jan 2011 20:05:46 +0000 (15:05 -0500)]
mesa: Support internalFormat=GL_BGRA for DRI drivers
Kristian Høgsberg [Wed, 26 Jan 2011 15:46:02 +0000 (10:46 -0500)]
st/egl: Downgrade warning to debug when we can't create a drm screen
We try to load a DRI driver if this fails so don't confuse users.
Brian Paul [Wed, 26 Jan 2011 15:01:15 +0000 (08:01 -0700)]
mesa: fix MESA/EXT typo
Spotted by Bernd Buschinski.
Marek Olšák [Mon, 24 Jan 2011 22:41:51 +0000 (23:41 +0100)]
util: require debug options to be separated by commas
Let's assume there are two options with names such that one is a substring
of another. Previously, if we only specified the longer one as a debug option,
the shorter one would be considered specified as well (because of strstr).
This commit fixes it by checking that each option is surrounded by commas.
(a regexp would be nicer, but this is not a performance critical code)
Zack Rusin [Wed, 26 Jan 2011 05:01:51 +0000 (00:01 -0500)]
gallium: add an interface for query predicates
as specified in the arb_occlusion_query2. just the interface.
Brian Paul [Wed, 26 Jan 2011 03:27:10 +0000 (20:27 -0700)]
softpipe: support for 1D/2D texture arrays
Brian Paul [Wed, 26 Jan 2011 03:26:22 +0000 (20:26 -0700)]
st/mesa: support for 1D/2D texture arrays
Brian Paul [Wed, 26 Jan 2011 03:25:50 +0000 (20:25 -0700)]
tgsi: add support for 1D/2D texture arrays
Tormod Volden [Tue, 25 Jan 2011 21:25:18 +0000 (13:25 -0800)]
configure.ac: define LIBDRM_INTEL_REQUIRED
To have the LIBDRM* requirements in one place
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 26 Jan 2011 01:45:44 +0000 (18:45 -0700)]
mesa: remove isProxy local var
Brian Paul [Wed, 26 Jan 2011 01:44:11 +0000 (18:44 -0700)]
mesa: use texFormat local var in more places
Brian Paul [Wed, 26 Jan 2011 01:42:53 +0000 (18:42 -0700)]
mesa: consolidate error handling code in _mesa_GetTexLevelParameteriv()
Brian Paul [Wed, 26 Jan 2011 01:27:44 +0000 (18:27 -0700)]
mesa: consolidate error handling in set_tex_parameteri()
Brian Paul [Wed, 26 Jan 2011 01:07:45 +0000 (18:07 -0700)]
mesa: add checks for GL_EXT_texture_array
In case the driver enables GL_MESA_texture_array but not the EXT version.
Ian Romanick [Tue, 25 Jan 2011 20:06:18 +0000 (12:06 -0800)]
linker: Propagate max_array_access while linking functions
Update the max_array_access of a global as functions that use that
global are pulled into the linked shader.
Fixes piglit test glsl-fs-implicit-array-size-01 and bugzilla #33219.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Ian Romanick [Tue, 25 Jan 2011 20:04:08 +0000 (12:04 -0800)]
linker: Set sizes for non-global arrays as well
Previously only global arrays with implicit sizes would be patched.
This causes all arrays that are actually accessed to be sized.
Fixes piglit test glsl-fs-implicit-array-size-02.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Ian Romanick [Tue, 25 Jan 2011 19:50:04 +0000 (11:50 -0800)]
ir_to_mesa: Add several assertions about sizes of arrays
Both of these assertions are triggered by the test case in bugzilla
size of 0.
Brian Paul [Tue, 25 Jan 2011 20:09:57 +0000 (13:09 -0700)]
glsl: silence uninitialized var warning in read_texture()
And generate an error if the texture pattern is not matched.
Mathias Fröhlich [Sun, 23 Jan 2011 21:35:13 +0000 (22:35 +0100)]
r600g: Implement timer queries.
Mathias Fröhlich [Sun, 23 Jan 2011 21:16:56 +0000 (22:16 +0100)]
r600g: Implement asyncronous query results.
Mathias Fröhlich [Sun, 23 Jan 2011 21:10:10 +0000 (22:10 +0100)]
r600g: Fix meaning of num_results for queries.
Tim Wiederhake [Mon, 24 Jan 2011 15:59:16 +0000 (16:59 +0100)]
fix potential leak in r600_context_init
Tim Wiederhake [Mon, 24 Jan 2011 15:59:14 +0000 (16:59 +0100)]
silences some valgrind warnings
==5547== Conditional jump or move depends on uninitialised value(s)
==5547== at 0x8FE745D: r600_drm_winsys_create (r600_drm.c:86)
Brian Paul [Tue, 25 Jan 2011 19:12:34 +0000 (12:12 -0700)]
Revert "glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S"
This reverts commit
731ec60da3ccb92f5bfb4d6f1bc3c8e712751376.
This change causes crashes in the x86-64 dispatch code.
Brian Paul [Tue, 25 Jan 2011 18:57:35 +0000 (11:57 -0700)]
softpipe: fix off-by-one error in setup_fragcoord_coeff()
If we invert Y, need to subtract one from the surface height.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26795
for softpipe.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Brian Paul [Tue, 25 Jan 2011 18:57:10 +0000 (11:57 -0700)]
st/mesa: add comments in emit_wpos()
Brian Paul [Tue, 25 Jan 2011 18:54:05 +0000 (11:54 -0700)]
st/mesa: fix incorrect fragcoord.x translation
emit_adjusted_wpos() needs separate x,y translation values. If we
invert Y, we don't want to effect X.
Part of the fix for http://bugs.freedesktop.org/show_bug.cgi?id=26795
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Dimitry Andric [Tue, 25 Jan 2011 16:23:44 +0000 (09:23 -0700)]
glapi: adding @ char before type specifier in glapi_x86.S
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33433
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Signed-off-by: Brian Paul <brianp@vmware.com>
Dimitry Andric [Tue, 25 Jan 2011 16:22:12 +0000 (09:22 -0700)]
glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440
NOTE: This is a candidate for the 7.9 and 7.10 branches
Signed-off-by: Brian Paul <brianp@vmware.com>
Roland Scheidegger [Tue, 25 Jan 2011 15:32:32 +0000 (16:32 +0100)]
svga: link libwsw for dri-vmwgfx target with make build system too
Marek Olšák [Tue, 25 Jan 2011 04:36:35 +0000 (05:36 +0100)]
u_blitter: remove bogus assertion
The module uses the 3D engine, so it can blit non-compatible formats.
Marek Olšák [Tue, 25 Jan 2011 04:30:49 +0000 (05:30 +0100)]
u_blitter: report recursion, update comments
Vinson Lee [Tue, 25 Jan 2011 04:04:31 +0000 (20:04 -0800)]
nvc0: Move declaration before code.
Fixes nvc0 SCons build.
Zack Rusin [Tue, 25 Jan 2011 02:45:37 +0000 (21:45 -0500)]
gallium/tgsi: update the docs for the new opcodes a bit
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: add red, red/green formats in _mesa_base_fbo_format()
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: plug in fallback function for ctx->Driver.ValidateFramebuffer()
The software renderer doesn't support GL_ALPHA, GL_LUMINANCE, etc
so we should report GL_FRAMEBUFFER_UNSUPPORTED during FBO validation.
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: new cases in _mesa_base_fbo_format()
The set of internalFormat parameters accepted by glRenderBufferStorage
depends on the EXT vs. ARB version of framebuffer_object. The later
added support for GL_ALPHA, GL_LUMINANCE, etc. formats. Note that
these formats might be legal but might not be supported. That should
be checked with glCheckFramebufferStatus().
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
Revert "mesa: Simplify _mesa_base_fbo_format by making it exceptions to teximages."
This reverts commit
65c41d55a06137115f0b4c67f9a3fd2708f0b625.
There really are quite a few differences in the set of internal
formats allowed by glTexImage and glRenderbufferStorage.
Vinson Lee [Tue, 25 Jan 2011 01:48:24 +0000 (17:48 -0800)]
scons: Add nvc0 to SConscript.
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: implement handler/pointer conversion using a hash table
Before, we were just casting between 32-bit VGHandles and 64-bit pointers.
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: remove redundant functions found elsewhere
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: replace casts with pointer/handle conversion functions
Per the spec, all OpenVG handles are 32-bit. We can't just cast them
to/from integers on 64-bit systems.
Start fixing that mess by introducing a set of handle/pointer conversion
functions in handle.h. The next step is to implement a handle/pointer
hash table...
Julien Cristau [Sun, 23 Jan 2011 16:26:35 +0000 (08:26 -0800)]
glx: fix request lengths
We were sending too long requests for GLXChangeDrawableAttributes,
GLXGetDrawableAttributes, GLXDestroyPixmap and GLXDestroyWindow.
NOTE: This is a candidate for the 7.9 and 7.10 branches
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
Jakob Bornecrantz [Wed, 29 Dec 2010 11:50:59 +0000 (12:50 +0100)]
svga: Add more swrast debuging
Jakob Bornecrantz [Wed, 29 Dec 2010 08:59:28 +0000 (09:59 +0100)]
svga: Use get once helpers for context debug envs
Jakob Bornecrantz [Thu, 16 Dec 2010 04:33:46 +0000 (05:33 +0100)]
rbug: Fix surface reference leak
Jakob Bornecrantz [Mon, 24 Jan 2011 22:26:03 +0000 (23:26 +0100)]
glsl: Fix mingw crosscompile
Henri Verbeet [Mon, 24 Jan 2011 23:27:50 +0000 (00:27 +0100)]
r600g: FLT_TO_INT* are vector instructions on Evergreen.
FLT_TO_INT is a vector instruction, despite what the (current) documentation
says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the
documentation, but those are vector instructions too.
Zack Rusin [Mon, 24 Jan 2011 22:53:29 +0000 (17:53 -0500)]
graw: add a test showing the new sampling scheme in action
Zack Rusin [Mon, 24 Jan 2011 22:47:10 +0000 (17:47 -0500)]
gallium: implement modern sampling scheme
largely a merge of the previously discussed origin/gallium-resource-sampling
but updated.
the idea is to allow arbitrary binding of resources, the way opencl, new gl
versions and dx10+ require, i.e.
DCL RES[0], 2D, FLOAT
LOAD DST[0], SRC[0], RES[0]
SAMPLE DST[0], SRC[0], RES[0], SAMP[0]
Benjamin Franzke [Fri, 21 Jan 2011 13:29:32 +0000 (14:29 +0100)]
st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2
Benjamin Franzke [Fri, 21 Jan 2011 13:29:06 +0000 (14:29 +0100)]
st/mesa: support internalFormat=GL_BGRA in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:26:09 +0000 (14:26 +0100)]
mesa/es: require internalFormat==format in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:24:11 +0000 (14:24 +0100)]
mesa: allow internalFormat=GL_BGRA_EXT in TexImage2D
Dimitry Andric [Mon, 24 Jan 2011 21:36:37 +0000 (14:36 -0700)]
mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33386
NOTE: This is a candidate for the 7.9 and 7.10 branches
Signed-off-by: Brian Paul <brianp@vmware.com>
Dimitry Andric [Mon, 24 Jan 2011 21:34:10 +0000 (14:34 -0700)]
mesa: s/movzx/movzbl/
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33388
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Signed-off-by: Brian Paul <brianp@vmware.com>
Kenneth Graunke [Mon, 24 Jan 2011 18:33:38 +0000 (10:33 -0800)]
glsl: Remove long unused 'configure.ac' file.
This was from way back when glsl2 lived in its own repository.
José Fonseca [Mon, 24 Jan 2011 09:48:45 +0000 (09:48 +0000)]
draw: Do not use LLVM's opaque types.
Contrary what the name may suggest, LLVM's opaque types are used for
recursive types -- types whose definition refers itself -- so opaque
types correspond to pre-declaring a structure in C. E.g.:
struct node;
struct link {
....
struct node *next;
};
struct node {
struct link link;
}
Void pointers are also disallowed by LLVM. So the suggested way of creating
what's commonly referred as "opaque pointers" is using byte pointer (i.e.,
uint8_t * ).
Tim Wiederhake [Mon, 24 Jan 2011 15:59:17 +0000 (07:59 -0800)]
add machine generated files to .gitignore
Signed-off-by: Brian Paul <brianp@vmware.com>
Tim Wiederhake [Mon, 24 Jan 2011 15:59:15 +0000 (07:59 -0800)]
secure malloc in translate_cache_create
Signed-off-by: Brian Paul <brianp@vmware.com>
Christopher James Halse Rogers [Mon, 24 Jan 2011 04:22:47 +0000 (20:22 -0800)]
osmesa: mklib requires arguments before objects
Fixes the build when selecting driver=osmesa and building static libraries.
Otherwise, mklib tries to add the ‘-ltalloc’ object to the archive, which
obviously fails.
Clients which statically link to osmesa will need to link to libtalloc also,
as specified in the Libs.private of osmesa.pc.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=33360
NOTE: This is a candidate for the 7.10 branch.
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
Michel Dänzer [Mon, 24 Jan 2011 14:48:13 +0000 (15:48 +0100)]
st/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.
Reported by Vinson Lee.
Marek Olšák [Mon, 24 Jan 2011 12:30:36 +0000 (13:30 +0100)]
r300g: remove unused function
Marek Olšák [Mon, 24 Jan 2011 12:29:19 +0000 (13:29 +0100)]
r300g: remove any traces of depth_clamp
I couldn't make it work.
GB_TILE_CONFIG.Z_EXTENDED, which enables per-pixel Z clamping, and
VAP_CLIP_CNTL.CLIP_DISABLE, which disables clipping, do help, but they
also add regressions like random graphics corruptions in some games.
Marek Olšák [Mon, 24 Jan 2011 10:39:28 +0000 (11:39 +0100)]
r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_param
Andre Maasikas [Mon, 24 Jan 2011 08:17:46 +0000 (10:17 +0200)]
r600c: only colors can be flat shaded
fixes stellarium text and menu display
Jakob Bornecrantz [Sun, 23 Jan 2011 20:28:44 +0000 (21:28 +0100)]
util: Add function logger helpers
Jakob Bornecrantz [Mon, 24 Jan 2011 02:25:17 +0000 (03:25 +0100)]
Revert "r300g/swtcl: re-enable LLVM"
This reverts commit
88550083b3857184445075e70fed8b2eed4952a1.
Jakob Bornecrantz [Sun, 23 Jan 2011 04:22:30 +0000 (05:22 +0100)]
draw: Init llvm if not provided
Jakob Bornecrantz [Mon, 24 Jan 2011 01:03:59 +0000 (02:03 +0100)]
i915g: Remove draw_flushes and state that we don't need to track
Jakob Bornecrantz [Sun, 23 Jan 2011 23:35:53 +0000 (00:35 +0100)]
i915g: Improve constant handling
Tom Stellard [Mon, 13 Dec 2010 17:11:25 +0000 (09:11 -0800)]
r300g: Increase fragment shader limits for r400 cards
r400 fragment shaders now support up to 64 temporary registers,
512 ALU instructions, and 512 TEX instructions.
Brian Paul [Sun, 23 Jan 2011 21:06:01 +0000 (14:06 -0700)]
gldirect: remove _NEW_ACCUM
Brian Paul [Sun, 23 Jan 2011 21:03:01 +0000 (14:03 -0700)]
i965: remove _NEW_ACCUM
Christoph Bumiller [Sun, 23 Jan 2011 20:29:30 +0000 (21:29 +0100)]
nvc0: implement point coord replacement
But we have to cheat and peek at the GENERIC semantic indices the
state tracker uses for TEXn.
Only outputs from 0x300 to 0x37c can be replaced, and so we have to
know on shader compilation which ones to put there in order to keep
doing separate shader objects properly.
At some point I'll probably create a patch that makes gallium not
force us to discard the information about what is a TexCoord.
Marek Olšák [Sun, 23 Jan 2011 12:28:06 +0000 (13:28 +0100)]
mesa: add ARB_framebuffer_sRGB as alias of the EXT variant
Signed-off-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Sun, 23 Jan 2011 12:26:43 +0000 (13:26 +0100)]
mesa: return GL_LINEAR for ..COLOR_ENCODING if framebuffer_sRGB is unsupported
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Sun, 23 Jan 2011 17:06:24 +0000 (10:06 -0700)]
vega: sort filenames in Makefile, SConscript
Brian Paul [Sun, 23 Jan 2011 16:48:49 +0000 (09:48 -0700)]
mesa: get rid of _NEW_ACCUM, clean-up _NEW_* #defines
The _NEW_ACCUM flag was only set when changing the accumulation
buffer clear color and never used anywhere. Reclaim that dirty bit.
Clean up the definitions of the other dirty bit flags.
Brian Paul [Sun, 23 Jan 2011 16:10:35 +0000 (09:10 -0700)]
mesa: smarter glTexParameter state invalidation
Only a few texture object parameters can effect texture completeness:
min level, max level, minification filter. Don't mark the texture
incomplete for other texture object state changes.
Marek Olšák [Sun, 23 Jan 2011 11:53:17 +0000 (12:53 +0100)]
r300g: support sRGB colorbuffers
We are not required to do the linear->sRGB conversion if ARB_framebuffer_sRGB
is unsupported. However I think the conversion should work in hw except
for blending, which matches the D3D9 behavior.
Marek Olšák [Sun, 23 Jan 2011 11:03:59 +0000 (12:03 +0100)]
r300/compiler: remove any code related to relative addressing of temporaries
The hw can't do it and the code was useless anyway (it's lowered
in the GLSL compiler).
Christoph Bumiller [Sun, 23 Jan 2011 12:09:10 +0000 (13:09 +0100)]
nvc0: fix emit_cvt for ceil, floor and trunc
Christoph Bumiller [Sat, 22 Jan 2011 12:59:47 +0000 (13:59 +0100)]
nvc0: remove bad assert and emit TEMP movs instead
Christoph Bumiller [Sun, 23 Jan 2011 12:05:44 +0000 (13:05 +0100)]
nvc0: fix address and value slot assignment in load combining
Christoph Bumiller [Fri, 21 Jan 2011 17:40:41 +0000 (18:40 +0100)]
nvc0: don't omit highest bit of branch target
Fixes negative relative branch offsets.
Christoph Bumiller [Fri, 21 Jan 2011 16:04:25 +0000 (17:04 +0100)]
nvc0: recognize r63 as zero in constant folding
Christoph Bumiller [Fri, 21 Jan 2011 15:52:17 +0000 (16:52 +0100)]
nvc0: add MARK_RING where missing to avoid too many relocs errors
Christoph Bumiller [Fri, 21 Jan 2011 15:46:36 +0000 (16:46 +0100)]
nvc0: don't apply base vertex to per-instance arrays
Christoph Bumiller [Fri, 21 Jan 2011 15:27:31 +0000 (16:27 +0100)]
nvc0: commute sources of SET too if beneficial
Christoph Bumiller [Fri, 21 Jan 2011 15:23:44 +0000 (16:23 +0100)]
nvc0: accept neg abs modifiers on lg2
Ian Romanick [Sun, 23 Jan 2011 01:47:05 +0000 (17:47 -0800)]
glsl: Don't assert when the value returned by a function has no rvalue
The rvalue of the returned value can be NULL if the shader says
'return foo();' and foo() is a function that returns void.
Existing GLSL specs do *NOT* say that this is an error. The type of
the return value is void. If the return type of the function is also
void, then this should compile without error. I expect that future
versions of the GLSL spec will fix this (wink, wink, nudge, nudge).
Fixes piglit test glsl-1.10/compiler/expressions/return-01.vert and
bugzilla #33308.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Brian Paul [Sun, 23 Jan 2011 01:28:20 +0000 (18:28 -0700)]
st/mesa: ensure that all pixel paths operation on linear RGB data, not sRGB
Before, we were converting between linear/sRGB in glReadPixels,
glDrawPixels, glAccum, etc if the renderbuffer was an sRGB texture.
Those all need to operate on pixel values as-is without conversion.
Also, when setting up render-to-texture, if the texture is sRGB the
pipe_surface view must be linear RGB. This will change when we
support GL_ARB_framebuffer_sRGB.
This fixes http://bugs.freedesktop.org/show_bug.cgi?id=33353
Brian Paul [Sun, 23 Jan 2011 00:18:53 +0000 (17:18 -0700)]
softpipe: pass surface format to get/put_tile functions
When we read/write image tiles we need to use the format specified
in the pipe_surface, not the pipe_transfer format (which comes from
the underlying texture/resource format).
This comes up when rendering to sRGB surfaces (via OpenGL render to
texture). Ignoring the new GL_ARB/EXT_framebuffer_sRGB extension
for now, when we render to a sRGB surface we need to treat it like
a regular, linear colorspace RGB surface. Before, when we read/wrote
tiles to sRGB surfaces we were inadvertantly doing the color space
conversion.
Brian Paul [Sun, 23 Jan 2011 00:06:13 +0000 (17:06 -0700)]
gallium/util: added pipe_put_tile_rgba_format()
Brian Paul [Sun, 23 Jan 2011 00:03:51 +0000 (17:03 -0700)]
gallium/util: simplify pipe_get_tile_rgba()
Implement it in terms of pipe_get_tile_rgba_format()
Brian Paul [Sat, 22 Jan 2011 23:59:22 +0000 (16:59 -0700)]
gallium/softpipe: replace pipe_get_tile_swizzle()
The new function, pipe_get_tile_rgba_format(), no longer takes a
swizzle (we weren't actually using it anywhere). Rename it to
indicate that the format is passed explicitly.
Brian Paul [Sat, 22 Jan 2011 23:53:16 +0000 (16:53 -0700)]
softpipe: use proper type for format field
Brian Paul [Sat, 22 Jan 2011 01:30:46 +0000 (18:30 -0700)]
gallium/util: added util_format_linear()
Brian Paul [Sat, 22 Jan 2011 00:35:08 +0000 (17:35 -0700)]
st/mesa: update comment, use st_fb_orientation()