mesa.git
16 years agogallium: rename p_util.c to u_rect.c (it only contains rect copy/fill helpers)
Brian Paul [Fri, 22 Aug 2008 22:22:35 +0000 (16:22 -0600)]
gallium: rename p_util.c to u_rect.c (it only contains rect copy/fill helpers)

16 years agogallium: move pipe_copy_rect(), pipe_fill_rect() protos into new u_rect.h header
Brian Paul [Fri, 22 Aug 2008 22:19:22 +0000 (16:19 -0600)]
gallium: move pipe_copy_rect(), pipe_fill_rect() protos into new u_rect.h header

16 years agogallium: replace align_int() with align()
Brian Paul [Fri, 22 Aug 2008 22:09:37 +0000 (16:09 -0600)]
gallium: replace align_int() with align()

The two functions are identical.  Removed align_int() from p_util.h

16 years agogallium: insert __cplusplus/extern wrappings
Brian Paul [Fri, 22 Aug 2008 21:53:28 +0000 (15:53 -0600)]
gallium: insert __cplusplus/extern wrappings

16 years agogallium: move math macros from p_util.h to u_math.h
Brian Paul [Fri, 22 Aug 2008 21:51:38 +0000 (15:51 -0600)]
gallium: move math macros from p_util.h to u_math.h

More can be done...

16 years agogallium: stop using ifloor(), FABSF(), etc
Brian Paul [Fri, 22 Aug 2008 21:51:02 +0000 (15:51 -0600)]
gallium: stop using ifloor(), FABSF(), etc

16 years agogallium: stop using FABSF() macro
Brian Paul [Fri, 22 Aug 2008 21:49:36 +0000 (15:49 -0600)]
gallium: stop using FABSF() macro

16 years agogallium: replace LOG2() macro with util_fast_log2() inline func
Brian Paul [Fri, 22 Aug 2008 21:25:21 +0000 (15:25 -0600)]
gallium: replace LOG2() macro with util_fast_log2() inline func

16 years agogallium: use new util_fast_exp2(), _log2(), pow() functions
Brian Paul [Fri, 22 Aug 2008 21:16:43 +0000 (15:16 -0600)]
gallium: use new util_fast_exp2(), _log2(), pow() functions

New code surrounded with #if FAST_MATH to allow comparing against original
code if we need to debug.

16 years agomesa: glsl: regenerated file
Brian Paul [Fri, 22 Aug 2008 21:14:47 +0000 (15:14 -0600)]
mesa: glsl: regenerated file

16 years agomesa: glsl: implement exp() functions in terms of EXP asm instruction, not pow
Brian Paul [Fri, 22 Aug 2008 21:14:36 +0000 (15:14 -0600)]
mesa: glsl: implement exp() functions in terms of EXP asm instruction, not pow

16 years agogallium: new u_math.[ch] files for math functions
Brian Paul [Fri, 22 Aug 2008 21:13:47 +0000 (15:13 -0600)]
gallium: new u_math.[ch] files for math functions

So far, optimized/low-precision versions of exp(), exp2(), log2(), pow().

16 years agopython/retrace: Interpret texture/surfaces destructions.
José Fonseca [Fri, 22 Aug 2008 02:14:51 +0000 (03:14 +0100)]
python/retrace: Interpret texture/surfaces destructions.

16 years agotrace: Don't trace texture/surfaces releases, only destructions.
José Fonseca [Fri, 22 Aug 2008 02:14:24 +0000 (03:14 +0100)]
trace: Don't trace texture/surfaces releases, only destructions.

16 years agotrace: Use a 4 hexadecimal digit suffix.
José Fonseca [Fri, 22 Aug 2008 02:13:27 +0000 (03:13 +0100)]
trace: Use a 4 hexadecimal digit suffix.

16 years agopython/retrace: Process the trace call-by-call (instead of reading everything into...
José Fonseca [Fri, 22 Aug 2008 00:23:48 +0000 (01:23 +0100)]
python/retrace: Process the trace call-by-call (instead of reading everything into memory).

16 years agopython/retrace: Support gziped traces.
José Fonseca [Thu, 21 Aug 2008 17:45:43 +0000 (18:45 +0100)]
python/retrace: Support gziped traces.

16 years agotrace: Hack to detect writes to user buffers.
José Fonseca [Thu, 21 Aug 2008 12:57:59 +0000 (13:57 +0100)]
trace: Hack to detect writes to user buffers.

It often happens that new data is written directly to the user buffers
without mapping/unmapping. This hack marks user buffers and dumps them
before passing them to pipe context.

16 years agotrace: Split the output stream on windows.
José Fonseca [Thu, 21 Aug 2008 12:39:52 +0000 (13:39 +0100)]
trace: Split the output stream on windows.

Because windows limits the ammount of memory that can be mapped.

16 years agoscons: Build the trace pipe driver by default.
José Fonseca [Thu, 21 Aug 2008 00:41:20 +0000 (01:41 +0100)]
scons: Build the trace pipe driver by default.

16 years agomesa: glsl: fix a swizzle bug in storage_to_src_reg()
Brian Paul [Wed, 20 Aug 2008 20:40:02 +0000 (14:40 -0600)]
mesa: glsl: fix a swizzle bug in storage_to_src_reg()

Need to remove the 'nil' components before swizzling a swizzle

16 years agomesa: glsl: add check for exceeding max number of constants/uniforms
Brian Paul [Wed, 20 Aug 2008 20:39:10 +0000 (14:39 -0600)]
mesa: glsl: add check for exceeding max number of constants/uniforms

16 years agomesa: glsl: regenerated file
Brian Paul [Wed, 20 Aug 2008 17:07:25 +0000 (11:07 -0600)]
mesa: glsl: regenerated file

16 years agomesa: glsl: better implementation of ftransform()
Brian Paul [Wed, 20 Aug 2008 17:06:53 +0000 (11:06 -0600)]
mesa: glsl: better implementation of ftransform()

16 years agogallium: test for and cull prims with inf/nan vertices in sp_setup.c code.
Brian Paul [Wed, 20 Aug 2008 16:31:38 +0000 (10:31 -0600)]
gallium: test for and cull prims with inf/nan vertices in sp_setup.c code.

16 years agogallium: fix typo in LINE() macro (replace i+1 with i1 var)
Brian Paul [Wed, 20 Aug 2008 16:27:30 +0000 (10:27 -0600)]
gallium: fix typo in LINE() macro (replace i+1 with i1 var)

We were sometimes referencing an invalid vertex.
Fixes progs/trivial/line-clip.c test among others.

16 years agopython/retrace: Retrace draw_elements and draw_range_elements.
José Fonseca [Wed, 20 Aug 2008 13:03:12 +0000 (14:03 +0100)]
python/retrace: Retrace draw_elements and draw_range_elements.

16 years agopython: bindings for draw_range_elements.
José Fonseca [Wed, 20 Aug 2008 13:02:43 +0000 (14:02 +0100)]
python: bindings for draw_range_elements.

16 years agomesa: allow for extra per-context init
Brian Paul [Wed, 20 Aug 2008 00:14:15 +0000 (18:14 -0600)]
mesa: allow for extra per-context init

16 years agogallium: fix do_flip bug in sp_surface_copy()
Brian Paul [Tue, 19 Aug 2008 23:41:34 +0000 (17:41 -0600)]
gallium: fix do_flip bug in sp_surface_copy()

Surfaces are always in y=0=top raster order so the caller should invert
the Y coordinate if needed; don't do it in sp_surface_copy().

Fixes a glCopyTexture regression.

16 years agogallium: fix an assertion
Brian Paul [Tue, 19 Aug 2008 23:04:48 +0000 (17:04 -0600)]
gallium: fix an assertion

16 years agogallium: implement a fast-path for glReadPixels for common cases
Brian Paul [Tue, 19 Aug 2008 20:34:59 +0000 (14:34 -0600)]
gallium: implement a fast-path for glReadPixels for common cases

16 years agogallium: do a proper implementation of GL_OES_read_format
Brian Paul [Tue, 19 Aug 2008 20:24:27 +0000 (14:24 -0600)]
gallium: do a proper implementation of GL_OES_read_format

Examine the currently bound color buffer's format to see if there's a good
format/type match.

16 years agogallium: WinCE build fixes.
José Fonseca [Tue, 19 Aug 2008 20:33:59 +0000 (21:33 +0100)]
gallium: WinCE build fixes.

16 years agopython/retrace: Add several missing functions.
José Fonseca [Tue, 19 Aug 2008 18:12:22 +0000 (19:12 +0100)]
python/retrace: Add several missing functions.

16 years agotrace: Fix pipe_clip_state dump.
José Fonseca [Tue, 19 Aug 2008 18:11:47 +0000 (19:11 +0100)]
trace: Fix pipe_clip_state dump.

16 years agopython: Handle null state.
José Fonseca [Tue, 19 Aug 2008 18:11:36 +0000 (19:11 +0100)]
python: Handle null state.

16 years agopython/retrace: Trim null chars.
José Fonseca [Tue, 19 Aug 2008 17:25:38 +0000 (18:25 +0100)]
python/retrace: Trim null chars.

They are often left in memory mapped files, and are not part of the XML
accept chars anyway.

16 years agotrace: Support C++.
José Fonseca [Tue, 19 Aug 2008 16:08:41 +0000 (17:08 +0100)]
trace: Support C++.

16 years agomesa: glsl: more writemask error checking
Brian Paul [Tue, 19 Aug 2008 18:04:35 +0000 (12:04 -0600)]
mesa: glsl: more writemask error checking

16 years agomesa: glsl: added some post incr/decr error checks
Brian Paul [Tue, 19 Aug 2008 17:31:10 +0000 (11:31 -0600)]
mesa: glsl: added some post incr/decr error checks

16 years agomesa: glsl: limit function matching through casting
Brian Paul [Tue, 19 Aug 2008 17:23:25 +0000 (11:23 -0600)]
mesa: glsl: limit function matching through casting

16 years agomesa: glsl: add usage tracking for uniform vars
Brian Paul [Tue, 19 Aug 2008 16:27:06 +0000 (10:27 -0600)]
mesa: glsl: add usage tracking for uniform vars

Unused uniforms are no longer included in the active uniforms list.

16 years agomesa: glsl: put var emit/ref code into separate functions
Brian Paul [Tue, 19 Aug 2008 16:05:11 +0000 (10:05 -0600)]
mesa: glsl: put var emit/ref code into separate functions

16 years agogallium: Add note about vs_2_0 EXPP mapping.
Michal Krol [Tue, 19 Aug 2008 13:32:09 +0000 (15:32 +0200)]
gallium: Add note about vs_2_0 EXPP mapping.

16 years agoAdd NV_vertex_program specific tests.
Michal Krol [Tue, 19 Aug 2008 12:44:41 +0000 (14:44 +0200)]
Add NV_vertex_program specific tests.

16 years agoAdd support for NVIDIA programs.
Michal Krol [Tue, 19 Aug 2008 12:43:19 +0000 (14:43 +0200)]
Add support for NVIDIA programs.

16 years agotgsi: Implement LOG opcode for SSE2 codegen.
Michal Krol [Tue, 19 Aug 2008 10:07:25 +0000 (12:07 +0200)]
tgsi: Implement LOG opcode for SSE2 codegen.

16 years agotgsi: Implement EXP opcode for SSE2.
Michal Krol [Tue, 19 Aug 2008 09:47:30 +0000 (11:47 +0200)]
tgsi: Implement EXP opcode for SSE2.

16 years agomesa: Call pipe->destroy on context destruction for all platforms.
José Fonseca [Tue, 19 Aug 2008 01:24:13 +0000 (02:24 +0100)]
mesa: Call pipe->destroy on context destruction for all platforms.

16 years agoxlib: Revert destroying pipe_screen (temporary).
José Fonseca [Mon, 18 Aug 2008 23:18:19 +0000 (00:18 +0100)]
xlib: Revert destroying pipe_screen (temporary).

16 years agotgsi: Fix ARL opcode in SSE2 codegen.
Michal Krol [Mon, 18 Aug 2008 22:42:30 +0000 (00:42 +0200)]
tgsi: Fix ARL opcode in SSE2 codegen.

16 years agost: Do not translate program constants to immediates when
Michal Krol [Mon, 18 Aug 2008 21:20:00 +0000 (23:20 +0200)]
st: Do not translate program constants to immediates when
indirect addressing used.

16 years agost: Translate address register declaration.
Michal Krol [Mon, 18 Aug 2008 20:51:15 +0000 (22:51 +0200)]
st: Translate address register declaration.

16 years agost: Fix immediate construction.
Michal Krol [Mon, 18 Aug 2008 20:38:48 +0000 (22:38 +0200)]
st: Fix immediate construction.

16 years agotgsi: Workaround debug output buffer size limitations.
Michal Krol [Mon, 18 Aug 2008 20:21:32 +0000 (22:21 +0200)]
tgsi: Workaround debug output buffer size limitations.

16 years agoPort vp to Windows.
Michal Krol [Mon, 18 Aug 2008 19:44:54 +0000 (21:44 +0200)]
Port vp to Windows.

16 years agotgsi: Use NUM_CHANNELS.
Michal Krol [Mon, 18 Aug 2008 16:09:23 +0000 (18:09 +0200)]
tgsi: Use NUM_CHANNELS.

16 years agogallium: use PIPE_TEXTURE_USAGE_RENDER_TARGET for stencil renderbuffers
Brian Paul [Mon, 18 Aug 2008 22:30:10 +0000 (16:30 -0600)]
gallium: use PIPE_TEXTURE_USAGE_RENDER_TARGET for stencil renderbuffers

16 years agoegl: don't put the example/demo driver in the lib/ dir
Brian Paul [Mon, 18 Aug 2008 22:12:39 +0000 (16:12 -0600)]
egl: don't put the example/demo driver in the lib/ dir

16 years agogallium: fix vertex program output translation/mapping bug
Brian Paul [Mon, 18 Aug 2008 22:10:01 +0000 (16:10 -0600)]
gallium: fix vertex program output translation/mapping bug

In some cases, the vertex program output's semantic info didn't match up
with the fragment program's input semantic info.  This info is now explicitly
passed into the st_translate_fragment_program() function.

16 years agotrace: Explain how to integrate with a state tracker or winsys.
José Fonseca [Mon, 18 Aug 2008 11:42:08 +0000 (12:42 +0100)]
trace: Explain how to integrate with a state tracker or winsys.

16 years agotrace: Preliminary stream implementation for GDI.
José Fonseca [Sat, 16 Aug 2008 18:45:05 +0000 (19:45 +0100)]
trace: Preliminary stream implementation for GDI.

16 years agotrace: Use long longs to ensure covering 64bits integers.
José Fonseca [Sat, 16 Aug 2008 18:44:37 +0000 (19:44 +0100)]
trace: Use long longs to ensure covering 64bits integers.

16 years agotrace: Get the trace file from the GALLIUM_TRACE option itself.
José Fonseca [Sat, 16 Aug 2008 17:45:00 +0000 (18:45 +0100)]
trace: Get the trace file from the GALLIUM_TRACE option itself.

16 years agogallium: fix do_flip bug on glCopyTexImage / surface_copy() path
Brian Paul [Mon, 18 Aug 2008 19:15:09 +0000 (13:15 -0600)]
gallium: fix do_flip bug on glCopyTexImage / surface_copy() path

16 years agogallium: Remove TGSI_CC_UN.
Michal Krol [Mon, 18 Aug 2008 15:49:01 +0000 (17:49 +0200)]
gallium: Remove TGSI_CC_UN.

16 years agotgsi: Update condition code vector when storing dest register.
Michal Krol [Mon, 18 Aug 2008 15:18:58 +0000 (17:18 +0200)]
tgsi: Update condition code vector when storing dest register.

16 years agotgsi: Saturate modifier obeys ExecMask.
Michal Krol [Mon, 18 Aug 2008 15:09:20 +0000 (17:09 +0200)]
tgsi: Saturate modifier obeys ExecMask.
Implement NVIDIA [-1;+1] saturate mode.

16 years agotgsi: Respect condition codes when storing destination register.
Michal Krol [Mon, 18 Aug 2008 15:03:56 +0000 (17:03 +0200)]
tgsi: Respect condition codes when storing destination register.

16 years agotgsi: Cosmetic changes.
Michal Krol [Mon, 18 Aug 2008 13:57:39 +0000 (15:57 +0200)]
tgsi: Cosmetic changes.

16 years agotgsi: Add condition code (CC) register.
Michal Krol [Mon, 18 Aug 2008 13:42:26 +0000 (15:42 +0200)]
tgsi: Add condition code (CC) register.

16 years agomesa: rearrange some code in _mesa_BindTexture() to fix error detection bug 17173
Brian Paul [Mon, 18 Aug 2008 14:49:41 +0000 (08:49 -0600)]
mesa: rearrange some code in _mesa_BindTexture() to fix error detection bug 17173

Also, move GL_TEXTURE_RECTANGLE init code into separate function.

16 years agoscons: Fix build.
Michal Krol [Mon, 18 Aug 2008 12:40:02 +0000 (14:40 +0200)]
scons: Fix build.

16 years agopick first mode
Alan Hourihane [Sun, 17 Aug 2008 20:59:00 +0000 (21:59 +0100)]
pick first mode

16 years agoif we can't find a mode, return first. At least we should
Alan Hourihane [Sun, 17 Aug 2008 20:55:37 +0000 (21:55 +0100)]
if we can't find a mode, return first. At least we should
see the top left portion if we've got larger screens on
other CRTC's

16 years agoconsolidate intel directories.
Alan Hourihane [Sun, 17 Aug 2008 19:17:18 +0000 (20:17 +0100)]
consolidate intel directories.

we now have

src/gallium/winsys/drm/intel/{common,dri,egl}

16 years agorather than use CRTC 1 (aka LVDS), try and setup all connectors/encoders
Alan Hourihane [Sun, 17 Aug 2008 18:14:00 +0000 (19:14 +0100)]
rather than use CRTC 1 (aka LVDS), try and setup all connectors/encoders
and get the same output on all.

16 years agochoose a 1024x768 resolution
Alan Hourihane [Sun, 17 Aug 2008 18:13:17 +0000 (19:13 +0100)]
choose a 1024x768 resolution

16 years agochoose sane default for dri driver location
Alan Hourihane [Sun, 17 Aug 2008 18:12:54 +0000 (19:12 +0100)]
choose sane default for dri driver location

16 years agofix DESTDIR omissions
Hanno Böck [Fri, 15 Aug 2008 23:14:54 +0000 (17:14 -0600)]
fix DESTDIR omissions

16 years agomesa: glsl: fix linking of varying vars which are arrays
Brian Paul [Fri, 15 Aug 2008 21:00:18 +0000 (15:00 -0600)]
mesa: glsl: fix linking of varying vars which are arrays

16 years agogallium: in st_draw_vbo() use ctx->Current.Attrib[] values when arrays are missing...
Brian Paul [Fri, 15 Aug 2008 17:50:29 +0000 (11:50 -0600)]
gallium: in st_draw_vbo() use ctx->Current.Attrib[] values when arrays are missing/null

fixes potential segfaults when vertex arrays are missing

16 years agoxlib: Kill xmesa_surface.
José Fonseca [Fri, 15 Aug 2008 10:24:06 +0000 (11:24 +0100)]
xlib: Kill xmesa_surface.

A winsys cannot expect that the surfaces passed display_surface are the
surfaces it created, as surface are now in generate texture views created
by pipe_screen. Indeed, the fact it was working so far was mere luck.

This fixes a weird tiled output when using the trace pipe driver.

Winsys' surfaces should die.

16 years agotrace: Fix typo.
José Fonseca [Fri, 15 Aug 2008 10:20:57 +0000 (11:20 +0100)]
trace: Fix typo.

16 years agopython/retrace: Update frame when PIPE_FLUSH_FRAME spotted.
José Fonseca [Fri, 15 Aug 2008 09:33:35 +0000 (10:33 +0100)]
python/retrace: Update frame when PIPE_FLUSH_FRAME spotted.

16 years agotrace: Wrap all textures and surface created by the pipe driver.
José Fonseca [Fri, 15 Aug 2008 09:31:23 +0000 (10:31 +0100)]
trace: Wrap all textures and surface created by the pipe driver.

That is,

Unfortunately, this causes a regression in softpipe, where the
output gets tyled.

16 years agotrace: Allow multiple screens. Flush after call.
José Fonseca [Fri, 15 Aug 2008 09:24:09 +0000 (10:24 +0100)]
trace: Allow multiple screens. Flush after call.

16 years agopyhon/retrace: Retrace surface contents.
José Fonseca [Thu, 14 Aug 2008 21:03:35 +0000 (22:03 +0100)]
pyhon/retrace: Retrace surface contents.

Now capable of replaying trivial/quad-tex-2d

16 years agopython/retrace: Keep addresses as strings.
José Fonseca [Thu, 14 Aug 2008 13:40:27 +0000 (14:40 +0100)]
python/retrace: Keep addresses as strings.

To simplify looking up these in the trace.

16 years agotrace: Several fixes.
José Fonseca [Thu, 14 Aug 2008 13:38:58 +0000 (14:38 +0100)]
trace: Several fixes.

16 years agopython: Fix put/get_tile_raw bindings.
José Fonseca [Thu, 14 Aug 2008 13:35:25 +0000 (14:35 +0100)]
python: Fix put/get_tile_raw bindings.

16 years agotrace: Trace surface contents.
José Fonseca [Thu, 14 Aug 2008 13:34:33 +0000 (14:34 +0100)]
trace: Trace surface contents.

16 years agotrace: Make stream a global variable.
José Fonseca [Thu, 14 Aug 2008 11:50:52 +0000 (12:50 +0100)]
trace: Make stream a global variable.

This not only simplifies the code, but allows to use atexit() to ensure
the log is closed when applications don't exit cleanly.

16 years agomesa: Issue PIPE_FLUSH_FRAME in glSwapBuffers/glFlush/glFinish.
José Fonseca [Thu, 14 Aug 2008 10:40:33 +0000 (11:40 +0100)]
mesa: Issue PIPE_FLUSH_FRAME in glSwapBuffers/glFlush/glFinish.

16 years agogallium: New PIPE_FLUSH_FRAME flag to signal the end of a frame.
José Fonseca [Thu, 14 Aug 2008 10:39:41 +0000 (11:39 +0100)]
gallium: New PIPE_FLUSH_FRAME flag to signal the end of a frame.

16 years agopython/retrace: Commit unsaved changes to the doc.
José Fonseca [Thu, 14 Aug 2008 10:15:13 +0000 (11:15 +0100)]
python/retrace: Commit unsaved changes to the doc.

16 years agogallium: init default texture image to gray
Brian Paul [Thu, 14 Aug 2008 21:44:09 +0000 (15:44 -0600)]
gallium: init default texture image to gray

16 years agogallium: use a default texture in update_textures(), update_samplers() when needed
Brian Paul [Thu, 14 Aug 2008 21:38:09 +0000 (15:38 -0600)]
gallium: use a default texture in update_textures(), update_samplers() when needed

The default texture is used when the current fragment shader has texture
sample instructions but the user has not provided/bound a texture.

16 years agogallium: added queries to determin GL_EXT_packed_depth_stencil support
Brian Paul [Thu, 14 Aug 2008 16:53:59 +0000 (10:53 -0600)]
gallium: added queries to determin GL_EXT_packed_depth_stencil support