mesa.git
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

16 years agoegl: WinCE doesn't have sys/types.h
José Fonseca [Sat, 28 Jun 2008 11:40:44 +0000 (20:40 +0900)]
egl: WinCE doesn't have sys/types.h

16 years agoegl: helps if the stride is right
Zack Rusin [Fri, 27 Jun 2008 20:47:22 +0000 (16:47 -0400)]
egl: helps if the stride is right

16 years agoeh, we need a buildbot... fix the compilation
Zack Rusin [Fri, 27 Jun 2008 19:56:09 +0000 (15:56 -0400)]
eh, we need a buildbot... fix the compilation

16 years agogallium: handle msaa
Roland Scheidegger [Fri, 27 Jun 2008 14:02:43 +0000 (16:02 +0200)]
gallium: handle msaa

16 years agoegl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work...
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.)

16 years agoegl: Windows updates to the platform.h files
Jonathan White [Fri, 27 Jun 2008 13:13:30 +0000 (07:13 -0600)]
egl: Windows updates to the platform.h files

16 years agoi915: Fix the last of the stride/pitch changes
Jakob Bornecrantz [Fri, 27 Jun 2008 12:16:42 +0000 (14:16 +0200)]
i915: Fix the last of the stride/pitch changes

16 years agomesa: Replace void * arithmetic.
José Fonseca [Fri, 27 Jun 2008 11:56:49 +0000 (20:56 +0900)]
mesa: Replace void * arithmetic.

16 years agogdi: Update for cpp removal.
José Fonseca [Fri, 27 Jun 2008 11:56:29 +0000 (20:56 +0900)]
gdi: Update for cpp removal.

16 years agocell: 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.

16 years agogallium: Drop pipe_texture->cpp and pipe_surface->cpp.
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.

16 years agoscons: Get x86-64<->x86 cross build of assembly files right.
José Fonseca [Fri, 27 Jun 2008 04:41:23 +0000 (13:41 +0900)]
scons: Get x86-64<->x86 cross build of assembly files right.

16 years agoscons: Fix i965/xlib build.
José Fonseca [Fri, 27 Jun 2008 04:01:37 +0000 (13:01 +0900)]
scons: Fix i965/xlib build.

16 years agoscons: Fix typo.
José Fonseca [Fri, 27 Jun 2008 03:35:18 +0000 (12:35 +0900)]
scons: Fix typo.

16 years agomesa: Use the appropriate relocation.
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

16 years agogallium: Describe pixel block.
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.

16 years agomesa: point size arrays
Brian Paul [Wed, 25 Jun 2008 14:45:14 +0000 (08:45 -0600)]
mesa: point size arrays

16 years agogallium: remove some old dispatch code
Brian Paul [Tue, 24 Jun 2008 14:47:15 +0000 (08:47 -0600)]
gallium: remove some old dispatch code

16 years agogallium: remove bad assertion
Brian Paul [Tue, 24 Jun 2008 14:45:59 +0000 (08:45 -0600)]
gallium: remove bad assertion

16 years agogallium: Fix whole source being used in u_blit
Jakob Bornecrantz [Tue, 24 Jun 2008 14:06:59 +0000 (16:06 +0200)]
gallium: Fix whole source being used in u_blit

16 years agoFix CRLF line endings.
José Fonseca [Tue, 24 Jun 2008 13:26:19 +0000 (22:26 +0900)]
Fix CRLF line endings.

16 years agoAllow CRLF automatic conversion on MSVC project files.
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.

16 years agoi915: Create a texture and surface for shared frontbuffer
Jakob Bornecrantz [Tue, 24 Jun 2008 12:42:12 +0000 (14:42 +0200)]
i915: Create a texture and surface for shared frontbuffer

16 years agoi915: Added texture_blanket function
Jakob Bornecrantz [Tue, 24 Jun 2008 12:19:30 +0000 (14:19 +0200)]
i915: Added texture_blanket function

16 years agoi915: Moved screen creation to intel_be_device
Jakob Bornecrantz [Tue, 24 Jun 2008 11:09:43 +0000 (13:09 +0200)]
i915: Moved screen creation to intel_be_device

16 years agogallium: Fix warning in u_blit.h
Jakob Bornecrantz [Tue, 24 Jun 2008 11:00:42 +0000 (13:00 +0200)]
gallium: Fix warning in u_blit.h

16 years agoegl: Stdint was missing from eglconfigutil.h
Jakob Bornecrantz [Tue, 24 Jun 2008 12:30:38 +0000 (14:30 +0200)]
egl: Stdint was missing from eglconfigutil.h

16 years agomesa: Fix Windows GDI winsys build.
José Fonseca [Tue, 24 Jun 2008 11:44:47 +0000 (20:44 +0900)]
mesa: Fix Windows GDI winsys build.

16 years agogallium: Avoid double arithmetic.
José Fonseca [Tue, 24 Jun 2008 05:22:09 +0000 (14:22 +0900)]
gallium: Avoid double arithmetic.

16 years agomesa: Use standard integer types.
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.

16 years agomesa: Replace deprecated __MSC__ macro.
José Fonseca [Tue, 24 Jun 2008 05:02:24 +0000 (14:02 +0900)]
mesa: Replace deprecated __MSC__ macro.

16 years agodri/intel: Use standard integer types.
José Fonseca [Tue, 24 Jun 2008 05:00:10 +0000 (14:00 +0900)]
dri/intel: Use standard integer types.

16 years agogallium: Drop deprecated __MSC__ macro.
José Fonseca [Tue, 24 Jun 2008 04:56:41 +0000 (13:56 +0900)]
gallium: Drop deprecated __MSC__ macro.

16 years agoegl: Use standard integer types.
José Fonseca [Tue, 24 Jun 2008 04:55:38 +0000 (13:55 +0900)]
egl: Use standard integer types.

16 years agomesa/dri: User standard integer types.
José Fonseca [Tue, 24 Jun 2008 04:51:52 +0000 (13:51 +0900)]
mesa/dri: User standard integer types.

16 years agomesa: More signed/unsigned float/integer fixes.
José Fonseca [Tue, 24 Jun 2008 04:12:41 +0000 (13:12 +0900)]
mesa: More signed/unsigned float/integer fixes.

16 years agomesa: WGL is not part of the WinCE API.
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.

16 years agogdi: Update for surface_alloc_storage changes.
José Fonseca [Tue, 24 Jun 2008 02:40:25 +0000 (11:40 +0900)]
gdi: Update for surface_alloc_storage changes.

16 years agomesa: Use appropriate unsigned/signed, float/integer types.
José Fonseca [Tue, 24 Jun 2008 02:34:46 +0000 (11:34 +0900)]
mesa: Use appropriate unsigned/signed, float/integer types.

16 years agomesa: Use _mesa_bsearch.
José Fonseca [Tue, 24 Jun 2008 02:33:03 +0000 (11:33 +0900)]
mesa: Use _mesa_bsearch.

16 years agomesa: bsearch implementation for WinCE.
José Fonseca [Tue, 24 Jun 2008 01:58:55 +0000 (10:58 +0900)]
mesa: bsearch implementation for WinCE.

16 years agomesa: Replace abort by asserts.
José Fonseca [Tue, 24 Jun 2008 01:56:36 +0000 (10:56 +0900)]
mesa: Replace abort by asserts.

16 years agomesa: Move variable declarations to the scope top.
José Fonseca [Tue, 24 Jun 2008 01:18:08 +0000 (10:18 +0900)]
mesa: Move variable declarations to the scope top.

16 years agomesa: Don't include sys/types.h on WinCE.
José Fonseca [Tue, 24 Jun 2008 01:17:32 +0000 (10:17 +0900)]
mesa: Don't include sys/types.h on WinCE.

We probably shouldn't be including sys/types.h at all, but let's leave that
for another time.

16 years agogallium: added support for fixed-point formats, drawing
Brian Paul [Mon, 23 Jun 2008 23:13:14 +0000 (17:13 -0600)]
gallium: added support for fixed-point formats, drawing

16 years agogallium: code for PIPE_SUBSYSTEM_WINDOWS_USER
Jonathan White [Mon, 23 Jun 2008 22:24:58 +0000 (16:24 -0600)]
gallium: code for PIPE_SUBSYSTEM_WINDOWS_USER

16 years agomesa: ASSERT macro is already defined by WinCE headers.
José Fonseca [Mon, 23 Jun 2008 17:37:21 +0000 (02:37 +0900)]
mesa: ASSERT macro is already defined by WinCE headers.

Even when just the standard headers are used....

16 years agomesa: No getenv on WinCE.
José Fonseca [Mon, 23 Jun 2008 17:35:50 +0000 (02:35 +0900)]
mesa: No getenv on WinCE.

16 years agogallium: Use the more portable PIPE_ARCH_* PIPE_CC_* macros instead of ad-hoc ones.
José Fonseca [Mon, 23 Jun 2008 16:26:22 +0000 (01:26 +0900)]
gallium: Use the more portable PIPE_ARCH_* PIPE_CC_* macros instead of ad-hoc ones.

16 years agogallium: WinCE does not have cosf, sinf, etc.
José Fonseca [Mon, 23 Jun 2008 16:25:20 +0000 (01:25 +0900)]
gallium: WinCE does not have cosf, sinf, etc.

16 years agogallium: in softpipe_get_tex_surface() use the pitch specified in the softpipe_textur...
Brian Paul [Mon, 23 Jun 2008 17:27:44 +0000 (11:27 -0600)]
gallium: in softpipe_get_tex_surface() use the pitch specified in the softpipe_texture object.

Fixes a pitch/width mix-up.

16 years agoi915: Add render and texture support for tiled texture and buffers
Jakob Bornecrantz [Mon, 23 Jun 2008 15:57:45 +0000 (17:57 +0200)]
i915: Add render and texture support for tiled texture and buffers

This is step towards tiled textures and buffer support for
i915. But the tiled attribute is never set.

16 years agogallium: fix-up inverted do_copy_texsubimage()
Brian Paul [Mon, 23 Jun 2008 15:50:09 +0000 (09:50 -0600)]
gallium: fix-up inverted do_copy_texsubimage()

The logic/arithmetic for inverting the src image is a bit simpler now.

16 years agogallium: fix Y-inverted copies
Brian Paul [Mon, 23 Jun 2008 15:47:12 +0000 (09:47 -0600)]
gallium: fix Y-inverted copies

Don't require the caller to pass a non-intuitive negative src_y coord anymore
when doing a src-inverted copy.

16 years agogallium: remove dead/prototype code
Brian Paul [Mon, 23 Jun 2008 15:07:56 +0000 (09:07 -0600)]
gallium: remove dead/prototype code

16 years agogallium: change surface_copy()'s do_flip to boolean
Brian Paul [Mon, 23 Jun 2008 14:54:16 +0000 (08:54 -0600)]
gallium: change surface_copy()'s do_flip to boolean

16 years agogallium: fix bad srcy coord if do_flip
Brian Paul [Mon, 23 Jun 2008 14:51:00 +0000 (08:51 -0600)]
gallium: fix bad srcy coord if do_flip

16 years agogallium: fix bad srcy coord if do_flip
Brian Paul [Mon, 23 Jun 2008 14:44:30 +0000 (08:44 -0600)]
gallium: fix bad srcy coord if do_flip

16 years agogallium: added some assertions
Brian Paul [Mon, 23 Jun 2008 14:35:41 +0000 (08:35 -0600)]
gallium: added some assertions

16 years agoDon't make libmesa.a or libglapi.a depend on asm_subdirs
Brian Paul [Mon, 23 Jun 2008 14:14:14 +0000 (08:14 -0600)]
Don't make libmesa.a or libglapi.a depend on asm_subdirs

Since the asm_subdirs target does not actually create a file, make will
always consider that it needs to be rebuilt. If libmesa.a and libglapi.a
have asm_subdirs as a prerequisite, then they will always need to be
rebuilt, too. The correct order will be preserved by the default target,
though.

This should fix #16358.

Conflicts:

src/mesa/Makefile

cherry-picked from master

16 years agoCreate $(TOP)/$(LIB_DIR) for install, too
Dan Nicholson [Mon, 23 Jun 2008 03:19:35 +0000 (20:19 -0700)]
Create $(TOP)/$(LIB_DIR) for install, too

If `make install' is run without running `make' first, the $(LIB_DIR)
will not be created. This also changes the mkdir a little bit so that it
isn't run if necessary and added `-p' so that it is immune to races.

16 years agoEnsure all objects are built when installing DRI
Dan Nicholson [Mon, 23 Jun 2008 03:29:45 +0000 (20:29 -0700)]
Ensure all objects are built when installing DRI

16 years agoutil: Blit can now copy from texture to surface
Jakob Bornecrantz [Mon, 23 Jun 2008 14:01:41 +0000 (16:01 +0200)]
util: Blit can now copy from texture to surface

16 years agogallium: Add accessor functions to get textures from a st_framebuffer
Jakob Bornecrantz [Mon, 23 Jun 2008 13:54:25 +0000 (15:54 +0200)]
gallium: Add accessor functions to get textures from a st_framebuffer

16 years agoscons: Update to target WinCE 6.0.
José Fonseca [Mon, 23 Jun 2008 03:49:45 +0000 (12:49 +0900)]
scons: Update to target WinCE 6.0.

16 years agogallium: Fix warning in u_draw_quad.h
Jakob Bornecrantz [Mon, 23 Jun 2008 10:31:46 +0000 (12:31 +0200)]
gallium: Fix warning in u_draw_quad.h

16 years agoi915: Removed level_offset from i915_texture
Jakob Bornecrantz [Thu, 19 Jun 2008 18:28:20 +0000 (20:28 +0200)]
i915: Removed level_offset from i915_texture

All offsets are now on image_offset.

16 years agodraw: fix non-i386 builds
Keith Whitwell [Sun, 22 Jun 2008 12:14:29 +0000 (13:14 +0100)]
draw: fix non-i386 builds

16 years agogallium: s/feadback/feedback/, duh
Brian [Sat, 21 Jun 2008 00:29:23 +0000 (18:29 -0600)]
gallium: s/feadback/feedback/, duh

16 years agogallium: fix invalid call to draw_set_mapped_constant_buffer()
Brian Paul [Fri, 20 Jun 2008 23:28:42 +0000 (17:28 -0600)]
gallium: fix invalid call to draw_set_mapped_constant_buffer()

We were indexing sp_constants[i] outside the loop so i was 2.
Replace i with PIPE_SHADER_VERTEX.
Also, replace magic '2' with PIPE_SHADER_TYPES in a few places.

16 years agogallium: fix some surface usage bugs
Brian Paul [Fri, 20 Jun 2008 21:58:19 +0000 (15:58 -0600)]
gallium: fix some surface usage bugs

When a surface is created with GPU_WRITE that really means "GPU render"
and that can involve reads (blending).  Set surface usage to
PIPE_BUFFER_USAGE_CPU_READ + WRITE.  Fixes progs/demos/lodbias demo.

Also, mark texture as 'modified' when mapped for writing so that the tile
cache can know when to freshen a cached tile.  Fixes glTexSubImage2D().

16 years agoegl: added cpp assertions/sanity checks
Brian Paul [Fri, 20 Jun 2008 20:30:21 +0000 (14:30 -0600)]
egl: added cpp assertions/sanity checks

16 years agomesa: init ctx->RenderMode
Brian Paul [Fri, 20 Jun 2008 20:29:49 +0000 (14:29 -0600)]
mesa: init ctx->RenderMode

16 years agoegl: added null ptr check
Brian Paul [Fri, 20 Jun 2008 20:28:59 +0000 (14:28 -0600)]
egl: added null ptr check

16 years agomesa: GL_BYTE vertex/texcoord arrays
Brian Paul [Fri, 20 Jun 2008 17:49:25 +0000 (11:49 -0600)]
mesa: GL_BYTE vertex/texcoord arrays

16 years agomesa: initial support for fixed-pt vertex arrays
Brian Paul [Fri, 20 Jun 2008 17:32:22 +0000 (11:32 -0600)]
mesa: initial support for fixed-pt vertex arrays

16 years agomesa: refactor: move initialization of DefaultPacking state.
Brian Paul [Fri, 20 Jun 2008 17:31:05 +0000 (11:31 -0600)]
mesa: refactor: move initialization of DefaultPacking state.

16 years agogallium: always need st_init-blit()
Brian Paul [Fri, 20 Jun 2008 17:30:43 +0000 (11:30 -0600)]
gallium: always need st_init-blit()

16 years agogallium: remove unneeded #include
Brian Paul [Fri, 20 Jun 2008 17:30:21 +0000 (11:30 -0600)]
gallium: remove unneeded #include

16 years agomesa: fix errors in prev commit
Brian Paul [Fri, 20 Jun 2008 17:15:30 +0000 (11:15 -0600)]
mesa: fix errors in prev commit

16 years agomesa: revamp glBlendFunc loopback
Brian Paul [Fri, 20 Jun 2008 17:05:00 +0000 (11:05 -0600)]
mesa: revamp glBlendFunc loopback

16 years agomesa: added _vbo_Materialfv()
Brian Paul [Fri, 20 Jun 2008 17:04:37 +0000 (11:04 -0600)]
mesa: added _vbo_Materialfv()

16 years agomesa: _vbo_Color4f, _vbo_Normal3f, _vbo_MultiTexCoord4f functions
Brian Paul [Fri, 20 Jun 2008 16:48:14 +0000 (10:48 -0600)]
mesa: _vbo_Color4f, _vbo_Normal3f, _vbo_MultiTexCoord4f functions

16 years agomesa: fix some FEATURE_x tests
Brian Paul [Fri, 20 Jun 2008 16:47:38 +0000 (10:47 -0600)]
mesa: fix some FEATURE_x tests

16 years agoegl: added null ptr checks
Brian Paul [Fri, 20 Jun 2008 16:20:47 +0000 (10:20 -0600)]
egl: added null ptr checks

16 years agoegl: implment EGL_LARGEST_PBUFFER query
Brian Paul [Fri, 20 Jun 2008 16:20:25 +0000 (10:20 -0600)]
egl: implment EGL_LARGEST_PBUFFER query