OSDN Git Service
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...
Brian Paul [Tue, 8 Jul 2008 21:00:11 +0000 (15:00 -0600)]
gallium: tweak printing of generic declarations
Brian Paul [Tue, 8 Jul 2008 20:59:31 +0000 (14:59 -0600)]
mesa: more debug output
Brian Paul [Tue, 8 Jul 2008 19:05:43 +0000 (13:05 -0600)]
mesa: compute global var size before doing codegen
Brian Paul [Tue, 8 Jul 2008 19:02:33 +0000 (13:02 -0600)]
mesa: add missing VARYING case to storage_string()
Jakob Bornecrantz [Tue, 8 Jul 2008 14:54:22 +0000 (16:54 +0200)]
i915: Takedown EGL screen
Jakob Bornecrantz [Tue, 8 Jul 2008 12:44:23 +0000 (14:44 +0200)]
i915: Use deviceID in EGL device create
Jakob Bornecrantz [Tue, 8 Jul 2008 12:41:17 +0000 (14:41 +0200)]
i915: Complete the screen -> device renaming
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.
Jonathan White [Mon, 7 Jul 2008 23:56:29 +0000 (17:56 -0600)]
mesa: added GLAPIENTRY keywords
Jonathan White [Mon, 7 Jul 2008 23:56:09 +0000 (17:56 -0600)]
egl: updated GL_APIENTRY for Windows
José Fonseca [Mon, 7 Jul 2008 10:35:23 +0000 (19:35 +0900)]
raw2png: More helpful messages. Handle PIPE_FORMAT_A8B8G8R8_SNORM.
José Fonseca [Mon, 7 Jul 2008 10:29:24 +0000 (19:29 +0900)]
raw2png: Update formats from p_formats.h
Brian Paul [Mon, 7 Jul 2008 20:34:30 +0000 (14:34 -0600)]
egl: bump up MAX_ATTRIBS, added assertion
Brian Paul [Mon, 7 Jul 2008 16:12:55 +0000 (10:12 -0600)]
gallium: move assertion (though not really significant)
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.
Jakob Bornecrantz [Mon, 7 Jul 2008 13:49:59 +0000 (15:49 +0200)]
i915: Fix wrong pointer to cleanup
Jakob Bornecrantz [Mon, 7 Jul 2008 13:49:09 +0000 (15:49 +0200)]
i915: Fix EGL make current
Jakob Bornecrantz [Mon, 7 Jul 2008 13:26:47 +0000 (15:26 +0200)]
i915: More cleanup of display
Jakob Bornecrantz [Mon, 7 Jul 2008 12:29:11 +0000 (14:29 +0200)]
i915: Fetch the real deviceID for EGL
Jakob Bornecrantz [Mon, 7 Jul 2008 11:24:09 +0000 (13:24 +0200)]
i915: Destruction of surface, context and device in EGL
Jakob Bornecrantz [Sat, 5 Jul 2008 14:46:04 +0000 (16:46 +0200)]
i915: Fix EGL version and name
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
Jakob Bornecrantz [Sat, 5 Jul 2008 12:04:02 +0000 (14:04 +0200)]
i915: Fix haveDepth and haveStencil for visual in EGL
José Fonseca [Fri, 4 Jul 2008 18:21:27 +0000 (03:21 +0900)]
softpipe: Prevent NULL ptr derreference on takedown.
José Fonseca [Fri, 4 Jul 2008 18:19:56 +0000 (03:19 +0900)]
softpipe: Compute block size for display targets.
Jakob Bornecrantz [Fri, 4 Jul 2008 17:23:52 +0000 (19:23 +0200)]
i915: Added debug filling code of texture, not active
Jakob Bornecrantz [Fri, 4 Jul 2008 17:20:08 +0000 (19:20 +0200)]
i915: Clean up intel_egl.c a bit
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
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)
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.
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)
Brian Paul [Fri, 4 Jul 2008 16:02:16 +0000 (10:02 -0600)]
gallium: replace assertion with conditional
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.
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
Brian Paul [Fri, 4 Jul 2008 15:56:08 +0000 (09:56 -0600)]
mesa: move assertion
José Fonseca [Fri, 4 Jul 2008 15:56:36 +0000 (00:56 +0900)]
psb: Fill all texture fields when creating texture blanket.
José Fonseca [Fri, 4 Jul 2008 15:55:18 +0000 (00:55 +0900)]
softpipe: Implement texture blankets.
José Fonseca [Fri, 4 Jul 2008 13:27:50 +0000 (22:27 +0900)]
scons: Enable gcc SSE2 intrinsics on x86.
Brian Paul [Thu, 3 Jul 2008 22:59:24 +0000 (16:59 -0600)]
mesa: added _vbo_VertexAttrib4f()
Brian Paul [Thu, 3 Jul 2008 22:24:26 +0000 (16:24 -0600)]
mesa: fix incorrect array size, added assertion
Brian Paul [Thu, 3 Jul 2008 22:23:18 +0000 (16:23 -0600)]
mesa: fix array storage allocation bug
Brian Paul [Thu, 3 Jul 2008 22:22:49 +0000 (16:22 -0600)]
mesa: regenerated file
Brian Paul [Thu, 3 Jul 2008 22:22:36 +0000 (16:22 -0600)]
mesa: additional vec4 constructor
Brian Paul [Thu, 3 Jul 2008 22:21:15 +0000 (16:21 -0600)]
mesa: fix various error codes
Brian Paul [Thu, 3 Jul 2008 22:02:13 +0000 (16:02 -0600)]
mesa: fix some error codes in _mesa_ShaderSourceARB()
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
Brian Paul [Thu, 3 Jul 2008 20:55:14 +0000 (14:55 -0600)]
gallium: added a4r4g4b4_put_tile_rgba()
Brian Paul [Thu, 3 Jul 2008 20:12:27 +0000 (14:12 -0600)]
mesa: added case for fixed pt
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.
Brian Paul [Thu, 3 Jul 2008 16:43:14 +0000 (10:43 -0600)]
gallium: move, increase ST_MAX_SHADER_TOKENS
Brian Paul [Thu, 3 Jul 2008 16:42:31 +0000 (10:42 -0600)]
gallium: increase TGSI_EXEC_MAX_COND_NESTING, etc
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.
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.
José Fonseca [Thu, 3 Jul 2008 10:55:14 +0000 (19:55 +0900)]
Support conversion of YUV surfaces.
José Fonseca [Thu, 3 Jul 2008 10:52:05 +0000 (19:52 +0900)]
gallium: Don't forget to get overllaping blits working again.
Jakob Bornecrantz [Thu, 3 Jul 2008 10:12:25 +0000 (12:12 +0200)]
i915: EGL almost works again
Jakob Bornecrantz [Thu, 3 Jul 2008 10:10:36 +0000 (12:10 +0200)]
egl: Fix demodriver
José Fonseca [Thu, 3 Jul 2008 06:02:56 +0000 (15:02 +0900)]
gallium: Use surface_copy for 1:1 blits.
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.
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
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.
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.
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
Brian Paul [Wed, 2 Jul 2008 23:10:42 +0000 (17:10 -0600)]
mesa: additional GLSL built-in constants
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
Brian Paul [Wed, 2 Jul 2008 23:08:28 +0000 (17:08 -0600)]
mesa: added some debug code (disabled)
cherry-picked from master
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
Brian Paul [Wed, 2 Jul 2008 23:06:26 +0000 (17:06 -0600)]
mesa: regenerated file
Brian Paul [Wed, 2 Jul 2008 23:05:56 +0000 (17:05 -0600)]
mesa: added some missing equal() notEqual() intrinsics
cherry-picked from master
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.
Brian Paul [Wed, 2 Jul 2008 18:46:18 +0000 (12:46 -0600)]
mesa: regenerated files
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
Brian Paul [Wed, 2 Jul 2008 18:41:18 +0000 (12:41 -0600)]
gallium: replace 128 with MAX_LABELS
Brian Paul [Wed, 2 Jul 2008 18:40:03 +0000 (12:40 -0600)]
mesa: added _mesa_print_swizzle() debugging helper
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.
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.
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.
José Fonseca [Wed, 2 Jul 2008 03:22:51 +0000 (12:22 +0900)]
pipebuffer: Verify usage flag consistency. Minor cleanups.
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
Brian Paul [Wed, 2 Jul 2008 00:39:46 +0000 (18:39 -0600)]
mesa: move some functions
cherry-picked from master
Brian Paul [Wed, 2 Jul 2008 00:39:22 +0000 (18:39 -0600)]
mesa: make _slang_swizzle_swizzle() non-private
cherry-picked from master
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
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
Jakob Bornecrantz [Tue, 1 Jul 2008 13:52:37 +0000 (15:52 +0200)]
i915: Last reference to surface -> pitch
José Fonseca [Tue, 1 Jul 2008 13:04:58 +0000 (22:04 +0900)]
gallium: Use the inline keyword on C++.
José Fonseca [Tue, 1 Jul 2008 13:04:01 +0000 (22:04 +0900)]
scons: Output mapfile on windows ddk profile builds.
José Fonseca [Mon, 30 Jun 2008 03:49:14 +0000 (12:49 +0900)]
gles: Don't define GLAPIENTRY here.
Brian Paul [Sat, 28 Jun 2008 22:47:39 +0000 (16:47 -0600)]
mesa: added null ptr checks
Brian Paul [Sat, 28 Jun 2008 22:47:22 +0000 (16:47 -0600)]
s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()
Brian Paul [Sat, 28 Jun 2008 22:15:03 +0000 (16:15 -0600)]
mesa: check FEATURE_point_size_array
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
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
José Fonseca [Sat, 28 Jun 2008 11:40:44 +0000 (20:40 +0900)]
egl: WinCE doesn't have sys/types.h
Zack Rusin [Fri, 27 Jun 2008 20:47:22 +0000 (16:47 -0400)]
egl: helps if the stride is right
Zack Rusin [Fri, 27 Jun 2008 19:56:09 +0000 (15:56 -0400)]
eh, we need a buildbot... fix the compilation
Roland Scheidegger [Fri, 27 Jun 2008 14:02:43 +0000 (16:02 +0200)]
gallium: handle msaa
Robert Ellison [Thu, 26 Jun 2008 14:55:00 +0000 (08:55 -0600)]
egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work correctly with GLES1 and GLES2.
- egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
EGL_OPENGL_BIT in ClientAPIsMask
- eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
as well as EGL_OPENGL_ES_BIT.
- egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
all softpipe configurations. (Otherwise, an eglChooseConfig() that
looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
Jonathan White [Fri, 27 Jun 2008 13:13:30 +0000 (07:13 -0600)]
egl: Windows updates to the platform.h files
Jakob Bornecrantz [Fri, 27 Jun 2008 12:16:42 +0000 (14:16 +0200)]
i915: Fix the last of the stride/pitch changes