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
José Fonseca [Fri, 27 Jun 2008 11:56:49 +0000 (20:56 +0900)]
mesa: Replace void * arithmetic.
José Fonseca [Fri, 27 Jun 2008 11:56:29 +0000 (20:56 +0900)]
gdi: Update for cpp removal.
José Fonseca [Fri, 27 Jun 2008 11:10:04 +0000 (20:10 +0900)]
cell: Update for cpp removal.
Not tested -- just mymic the softpipe changes.
José Fonseca [Fri, 27 Jun 2008 10:37:56 +0000 (19:37 +0900)]
gallium: Drop pipe_texture->cpp and pipe_surface->cpp.
The chars-per-pixel concept falls apart with compressed and yuv images,
where more than one pixel are coded in a single data block.
José Fonseca [Fri, 27 Jun 2008 04:41:23 +0000 (13:41 +0900)]
scons: Get x86-64<->x86 cross build of assembly files right.
José Fonseca [Fri, 27 Jun 2008 04:01:37 +0000 (13:01 +0900)]
scons: Fix i965/xlib build.
José Fonseca [Fri, 27 Jun 2008 03:35:18 +0000 (12:35 +0900)]
scons: Fix typo.
José Fonseca [Fri, 27 Jun 2008 03:34:57 +0000 (12:34 +0900)]
mesa: Use the appropriate relocation.
I don't fully understand this, but this matches the assembly code gcc
generates glapi.c and fixes following error on x86-64 with assembly:
relocation R_X86_64_PC32 against `_gl_DispatchTSD' can not be used when making a shared object
José Fonseca [Thu, 26 Jun 2008 14:39:13 +0000 (23:39 +0900)]
gallium: Describe pixel block.
Chars-per-pixel paradigm is not enough to represent compressed and yuv
pixel formats.
Brian Paul [Wed, 25 Jun 2008 14:45:14 +0000 (08:45 -0600)]
mesa: point size arrays
Brian Paul [Tue, 24 Jun 2008 14:47:15 +0000 (08:47 -0600)]
gallium: remove some old dispatch code
Brian Paul [Tue, 24 Jun 2008 14:45:59 +0000 (08:45 -0600)]
gallium: remove bad assertion
Jakob Bornecrantz [Tue, 24 Jun 2008 14:06:59 +0000 (16:06 +0200)]
gallium: Fix whole source being used in u_blit
José Fonseca [Tue, 24 Jun 2008 13:26:19 +0000 (22:26 +0900)]
Fix CRLF line endings.
José Fonseca [Tue, 24 Jun 2008 13:17:39 +0000 (22:17 +0900)]
Allow CRLF automatic conversion on MSVC project files.
MSVC doesn't really care, and it is frequently causing merge conflicts.
Jakob Bornecrantz [Tue, 24 Jun 2008 12:42:12 +0000 (14:42 +0200)]
i915: Create a texture and surface for shared frontbuffer
Jakob Bornecrantz [Tue, 24 Jun 2008 12:19:30 +0000 (14:19 +0200)]
i915: Added texture_blanket function
Jakob Bornecrantz [Tue, 24 Jun 2008 11:09:43 +0000 (13:09 +0200)]
i915: Moved screen creation to intel_be_device
Jakob Bornecrantz [Tue, 24 Jun 2008 11:00:42 +0000 (13:00 +0200)]
gallium: Fix warning in u_blit.h
Jakob Bornecrantz [Tue, 24 Jun 2008 12:30:38 +0000 (14:30 +0200)]
egl: Stdint was missing from eglconfigutil.h
José Fonseca [Tue, 24 Jun 2008 11:44:47 +0000 (20:44 +0900)]
mesa: Fix Windows GDI winsys build.
José Fonseca [Tue, 24 Jun 2008 05:22:09 +0000 (14:22 +0900)]
gallium: Avoid double arithmetic.
José Fonseca [Tue, 24 Jun 2008 05:18:07 +0000 (14:18 +0900)]
mesa: Use standard integer types.
Especially get rid of the non-portable long long.
José Fonseca [Tue, 24 Jun 2008 05:02:24 +0000 (14:02 +0900)]
mesa: Replace deprecated __MSC__ macro.
José Fonseca [Tue, 24 Jun 2008 05:00:10 +0000 (14:00 +0900)]
dri/intel: Use standard integer types.
José Fonseca [Tue, 24 Jun 2008 04:56:41 +0000 (13:56 +0900)]
gallium: Drop deprecated __MSC__ macro.
José Fonseca [Tue, 24 Jun 2008 04:55:38 +0000 (13:55 +0900)]
egl: Use standard integer types.
José Fonseca [Tue, 24 Jun 2008 04:51:52 +0000 (13:51 +0900)]
mesa/dri: User standard integer types.
José Fonseca [Tue, 24 Jun 2008 04:12:41 +0000 (13:12 +0900)]
mesa: More signed/unsigned float/integer fixes.
José Fonseca [Tue, 24 Jun 2008 04:00:03 +0000 (13:00 +0900)]
mesa: WGL is not part of the WinCE API.
Although it would be interesting having the GDI winsys running on WinCE
several Windows GDI API functions and data structures are missing from
WinCE headers, making this far from a trivial endeavor.
José Fonseca [Tue, 24 Jun 2008 02:40:25 +0000 (11:40 +0900)]
gdi: Update for surface_alloc_storage changes.