mesa.git
16 years agonouveau: implement pipe_screen
Ben Skeggs [Fri, 29 Feb 2008 04:03:57 +0000 (15:03 +1100)]
nouveau: implement pipe_screen

Untested on NV3x/NV5x.  Quite possibly broken.

16 years agoMerge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Fri, 29 Feb 2008 02:24:31 +0000 (13:24 +1100)]
Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1

16 years agocell: convert all points/lines to tris for the time being
Brian [Fri, 29 Feb 2008 01:02:05 +0000 (18:02 -0700)]
cell: convert all points/lines to tris for the time being

Allows more programs to look correct.  We'll want native points/lines someday.

16 years agocell: remove obsolete texture field
Brian [Fri, 29 Feb 2008 00:57:54 +0000 (17:57 -0700)]
cell: remove obsolete texture field

16 years agoAdded calibrate_rast.c program
Brian [Fri, 29 Feb 2008 00:42:18 +0000 (17:42 -0700)]
Added calibrate_rast.c program

Measures rasterization of points/lines/tris and suggests fixes/biases when
something doesn't meet spec.

16 years agogallium: new wide point/line stages (missed in prev commit)
Brian Paul [Fri, 29 Feb 2008 00:54:42 +0000 (17:54 -0700)]
gallium: new wide point/line stages (missed in prev commit)

16 years agogallium: split draw_wide_prim stage into separate point/line stages.
Brian Paul [Fri, 29 Feb 2008 00:49:22 +0000 (17:49 -0700)]
gallium: split draw_wide_prim stage into separate point/line stages.

This fixes a validation/code-path problem.  Enabling the stage for the sake
of wide points also inadvertantly caused wide lines to be converted to tris
when we actually want them passed through, such as for the AA line stage.
This is just cleaner now.
Also, replace draw_convert_wide_lines() with draw_wide_line_threshold() as
was done for points.  Allows for 1-pixel lines to be converted too if needed.

16 years agogallium: fix surface/texture format conversion in st_CopyPixels
Brian Paul [Thu, 28 Feb 2008 18:31:56 +0000 (11:31 -0700)]
gallium: fix surface/texture format conversion in st_CopyPixels

If the src buffer's format isn't supported as a texture format, find a different
texture format.

16 years agogallium: added a texture format sanity check/assertion in st_texture_create()
Brian Paul [Thu, 28 Feb 2008 18:17:30 +0000 (11:17 -0700)]
gallium: added a texture format sanity check/assertion in st_texture_create()

make sure the tex format is actually supported by the driver.

16 years agogalliums: s/uint/enum pipe_format/
Brian Paul [Thu, 28 Feb 2008 18:04:39 +0000 (11:04 -0700)]
galliums: s/uint/enum pipe_format/

16 years agogallium: in GL_SELECT mode, update hitflag in rasterpos
Brian Paul [Thu, 28 Feb 2008 16:44:09 +0000 (09:44 -0700)]
gallium: in GL_SELECT mode, update hitflag in rasterpos

16 years agogallium: Fix MSVC warnings.
José Fonseca [Thu, 28 Feb 2008 12:25:54 +0000 (21:25 +0900)]
gallium: Fix MSVC warnings.

16 years agoMake sure struct pipe_screen is declared.
Michel Dänzer [Thu, 28 Feb 2008 09:07:38 +0000 (09:07 +0000)]
Make sure struct pipe_screen is declared.

16 years agogallium: State tracker cleanups wrt clears.
Keith Whitwell [Thu, 28 Feb 2008 09:07:03 +0000 (09:07 +0000)]
gallium: State tracker cleanups wrt clears.

16 years agoConvert crlf->lf line endings.
José Fonseca [Thu, 28 Feb 2008 06:53:13 +0000 (15:53 +0900)]
Convert crlf->lf line endings.

Windows/DOS users should enable core.autocrlf from now on.

16 years agoDisable autocrlf on Visual Studio project files.
José Fonseca [Thu, 28 Feb 2008 06:52:30 +0000 (15:52 +0900)]
Disable autocrlf on Visual Studio project files.

16 years agogallium: Remove extra level of indirecttion.
José Fonseca [Thu, 28 Feb 2008 04:52:30 +0000 (13:52 +0900)]
gallium: Remove extra level of indirecttion.

16 years agogallium: Fix sign/unsign comparison.
José Fonseca [Thu, 28 Feb 2008 02:23:01 +0000 (11:23 +0900)]
gallium: Fix sign/unsign comparison.

16 years agogallium: Convert CRLF -> LF.
Jose Fonseca [Thu, 28 Feb 2008 03:57:18 +0000 (12:57 +0900)]
gallium: Convert CRLF -> LF.

DOS/Windows users should not commit text files with CRLF line endings
but use instead

  git config --global core.autocrlf true

16 years agogallium: remove unneeded pipe ptr from pipe_texture
Brian [Thu, 28 Feb 2008 01:49:35 +0000 (18:49 -0700)]
gallium: remove unneeded pipe ptr from pipe_texture

16 years agogallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs
Brian [Thu, 28 Feb 2008 01:46:54 +0000 (18:46 -0700)]
gallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs

16 years agogallium/i965: remove more dependencies on pipe_shader_state semantic info
Brian [Thu, 28 Feb 2008 00:21:29 +0000 (17:21 -0700)]
gallium/i965: remove more dependencies on pipe_shader_state semantic info

16 years agogallium/i965: added const to silence warning
Brian [Thu, 28 Feb 2008 00:21:01 +0000 (17:21 -0700)]
gallium/i965: added const to silence warning

16 years agoscons: Build mesa source with c99.
José Fonseca [Wed, 27 Feb 2008 23:17:53 +0000 (08:17 +0900)]
scons: Build mesa source with c99.

16 years agocell: fix minor get_tex_surface() breakage
Brian [Wed, 27 Feb 2008 23:17:15 +0000 (16:17 -0700)]
cell: fix minor get_tex_surface() breakage

16 years agogallium/i965: remove brw_shader_info struct
Brian [Wed, 27 Feb 2008 23:22:08 +0000 (16:22 -0700)]
gallium/i965: remove brw_shader_info struct

The info it contained is now found in tgsi_shader_info.
Added a few assertions to catch potential misunderstandings about register
counts vs. highest register index used.

16 years agogallium/i965: silence warnings
Brian [Wed, 27 Feb 2008 23:11:26 +0000 (16:11 -0700)]
gallium/i965: silence warnings

16 years agogallium/i965: added const to silence warnings
Brian [Wed, 27 Feb 2008 23:11:14 +0000 (16:11 -0700)]
gallium/i965: added const to silence warnings

16 years agogallium/i965: remove UsesDepth, UsesKill - use tgsi_shader_info instead
Brian [Wed, 27 Feb 2008 23:09:17 +0000 (16:09 -0700)]
gallium/i965: remove UsesDepth, UsesKill - use tgsi_shader_info instead

16 years agogallium/i965: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:05:16 +0000 (16:05 -0700)]
gallium/i965: remove dependencies on pipe_shader_state's semantic info

The brw_shader_info struct is rendundant and could be removed...

16 years agogallium: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:03:40 +0000 (16:03 -0700)]
gallium: remove dependencies on pipe_shader_state's semantic info

16 years agogallium: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:02:58 +0000 (16:02 -0700)]
gallium: remove dependencies on pipe_shader_state's semantic info

Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.

16 years agogallium: include p_util.h
Brian [Wed, 27 Feb 2008 23:01:35 +0000 (16:01 -0700)]
gallium: include p_util.h

16 years agogallium: include p_compiler.h instead of p_util.h
Brian [Wed, 27 Feb 2008 23:00:04 +0000 (16:00 -0700)]
gallium: include p_compiler.h instead of p_util.h

16 years agogallium: remove unnecessary assignment
Brian [Wed, 27 Feb 2008 22:48:00 +0000 (15:48 -0700)]
gallium: remove unnecessary assignment

16 years agogallium: added file_max[] array to tgsi_shader_info
Brian [Wed, 27 Feb 2008 22:47:24 +0000 (15:47 -0700)]
gallium: added file_max[] array to tgsi_shader_info

Records the highest index of a declared register.

16 years agogallium/i915: remove unneeded assignment
Brian [Wed, 27 Feb 2008 22:45:41 +0000 (15:45 -0700)]
gallium/i915: remove unneeded assignment

16 years agogallium: remove unnecessary tgsi_interp_coef decl
Brian [Wed, 27 Feb 2008 22:11:12 +0000 (15:11 -0700)]
gallium: remove unnecessary tgsi_interp_coef decl

16 years agogallium: remove uses_kill field from softpipe_shader
Brian [Wed, 27 Feb 2008 22:06:55 +0000 (15:06 -0700)]
gallium: remove uses_kill field from softpipe_shader

16 years agogallium: added uses_kill field to tgsi_shader_info
Brian [Wed, 27 Feb 2008 22:06:04 +0000 (15:06 -0700)]
gallium: added uses_kill field to tgsi_shader_info

16 years agocell: Use unified data cache for textures too
Ian Romanick [Wed, 27 Feb 2008 21:40:23 +0000 (13:40 -0800)]
cell: Use unified data cache for textures too

16 years agogallium: remove obsolete *_strings.c files
Brian [Wed, 27 Feb 2008 21:28:17 +0000 (14:28 -0700)]
gallium: remove obsolete *_strings.c files

16 years agogallium: remove pipe_context->texture_create/release/get_tex_surface()
Brian [Wed, 27 Feb 2008 21:21:12 +0000 (14:21 -0700)]
gallium: remove pipe_context->texture_create/release/get_tex_surface()

These functions are now per-screen, not per-context.

16 years agogallium: move is_format_supported() to pipe_screen struct
Brian [Wed, 27 Feb 2008 20:58:06 +0000 (13:58 -0700)]
gallium: move is_format_supported() to pipe_screen struct

16 years agogallium: start removing pipe_context->get_name/vendor/param/paramf
Brian [Wed, 27 Feb 2008 18:24:35 +0000 (11:24 -0700)]
gallium: start removing pipe_context->get_name/vendor/param/paramf

These are now per-screen functions, not per-context.
State tracker updated, code in drivers and p_context.h disabled.

16 years agogallium/i965: implement pipe_screen for i965 driver (untested)
Brian [Wed, 27 Feb 2008 17:17:57 +0000 (10:17 -0700)]
gallium/i965: implement pipe_screen for i965 driver (untested)

16 years agogallium/i915: hook up screen->get_param()
Brian [Wed, 27 Feb 2008 17:15:37 +0000 (10:15 -0700)]
gallium/i915: hook up screen->get_param()

16 years agoCell: implement pipe_screen for cell driver
Brian [Wed, 27 Feb 2008 16:55:17 +0000 (09:55 -0700)]
Cell: implement pipe_screen for cell driver

16 years agogallium: implement pipe_screen for softpipe driver
Brian [Wed, 27 Feb 2008 16:47:46 +0000 (09:47 -0700)]
gallium: implement pipe_screen for softpipe driver

16 years agogallium/i915: remove some redundant code
Brian [Wed, 27 Feb 2008 16:46:10 +0000 (09:46 -0700)]
gallium/i915: remove some redundant code

16 years agogallium: better debug messages
Brian [Wed, 27 Feb 2008 16:15:15 +0000 (09:15 -0700)]
gallium: better debug messages

16 years agogallium: softpipe_init_texture_funcs(), make texture func static
Brian [Wed, 27 Feb 2008 15:58:12 +0000 (08:58 -0700)]
gallium: softpipe_init_texture_funcs(), make texture func static

16 years agomesa: set input read only on success
Jerome Glisse [Wed, 27 Feb 2008 14:42:48 +0000 (07:42 -0700)]
mesa: set input read only on success

16 years agoscons: Place the .sconsign file on the builddir too.
José Fonseca [Wed, 27 Feb 2008 11:13:16 +0000 (20:13 +0900)]
scons: Place the .sconsign file on the builddir too.

To avoid issues with different scons versions building the same source file

16 years agomesa: Add copyright headers.
José Fonseca [Wed, 27 Feb 2008 10:33:57 +0000 (19:33 +0900)]
mesa: Add copyright headers.

16 years agogallium: Make headers C++ friendly.
José Fonseca [Wed, 27 Feb 2008 09:39:57 +0000 (18:39 +0900)]
gallium: Make headers C++ friendly.

16 years agoscons: Move common code to a separate file.
José Fonseca [Wed, 27 Feb 2008 08:36:28 +0000 (17:36 +0900)]
scons: Move common code to a separate file.

16 years agoscons: Autodetect the default machine.
José Fonseca [Wed, 27 Feb 2008 07:53:52 +0000 (16:53 +0900)]
scons: Autodetect the default machine.

16 years agogallium: Replace // comments.
José Fonseca [Wed, 27 Feb 2008 07:42:15 +0000 (16:42 +0900)]
gallium: Replace // comments.

16 years agogallium: Remove // comments.
José Fonseca [Wed, 27 Feb 2008 07:23:50 +0000 (16:23 +0900)]
gallium: Remove // comments.

16 years agoscons: Fix winddk.py's decription and copyright.
José Fonseca [Wed, 27 Feb 2008 07:05:57 +0000 (16:05 +0900)]
scons: Fix winddk.py's decription and copyright.

16 years agogallium: update for new i915_screen.c file; fix some warnings.
José Fonseca [Wed, 27 Feb 2008 06:59:09 +0000 (15:59 +0900)]
gallium: update for new i915_screen.c file; fix some warnings.

16 years agogallium: Use stricter types.
José Fonseca [Wed, 27 Feb 2008 05:06:07 +0000 (14:06 +0900)]
gallium: Use stricter types.

VC++ won't silently convert a pointer to a function with typed pointer
arguments to one with void pointer arguments.

16 years agocell: insert a (disabled) call to spe_cpu_info_get()
Brian [Wed, 27 Feb 2008 03:12:29 +0000 (20:12 -0700)]
cell: insert a (disabled) call to spe_cpu_info_get()

Found on the Cell devel forum, but doesn't appear to be available in SDK 2.1.

16 years agogallium: introduce 'pipe_screen' for context-independent functions
Brian [Wed, 27 Feb 2008 03:15:14 +0000 (20:15 -0700)]
gallium: introduce 'pipe_screen' for context-independent functions

This will allow creating textures before a rendering context exists, for example.
Only implemented in i915 driver for now.  i915pipe->texture_create() just
dispatches through to the i915screen->texture_create() to avoid state tracker
changes for now.

16 years agogallium: use pipe_texture_reference() instead of pipe->texture_release()
Brian [Wed, 27 Feb 2008 02:35:08 +0000 (19:35 -0700)]
gallium: use pipe_texture_reference() instead of pipe->texture_release()

16 years agogallium: remove pipe parameter from pipe_texture_reference()
Brian [Wed, 27 Feb 2008 02:31:22 +0000 (19:31 -0700)]
gallium: remove pipe parameter from pipe_texture_reference()

Added pipe field to pipe_texture (temporary, see comments).
First step toward context-less texture creation...

16 years agoRevert "scons: Prefer MSVS 2003 (patch by Mark Mueller)."
José Fonseca [Wed, 27 Feb 2008 00:10:14 +0000 (09:10 +0900)]
Revert "scons: Prefer MSVS 2003 (patch by Mark Mueller)."

This reverts commit 19f6e1a975a098cf4ce935b50f7cf0c64d9db042.

16 years agogallium: #includes to silence warnings
Brian [Tue, 26 Feb 2008 21:34:19 +0000 (14:34 -0700)]
gallium: #includes to silence warnings

16 years agogallium: updated prototype (missed in prev commit)
Brian [Tue, 26 Feb 2008 21:30:41 +0000 (14:30 -0700)]
gallium: updated prototype (missed in prev commit)

16 years agogallium: replace draw_convert_wide_points() with draw_wide_point_threshold()
Brian [Tue, 26 Feb 2008 21:29:35 +0000 (14:29 -0700)]
gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()

Specifying a threshold size is a bit more flexible, and allows the option
of converting even 1-pixel points to triangles (set threshold=0).

Also, remove 0.25 pixel bias in wide_point().

16 years agogallium: fix zero-sized viewport bug
Brian [Tue, 26 Feb 2008 21:26:40 +0000 (14:26 -0700)]
gallium: fix zero-sized viewport bug

If st_create_framebuffer() is called with width=0, height=0 and the program
never called glViewport, the viewport wasn't properly initalized.  This fixes
that.

16 years agogallium: fix off by one rasterpos bug
Brian [Tue, 26 Feb 2008 21:25:36 +0000 (14:25 -0700)]
gallium: fix off by one rasterpos bug

16 years agogallium: Print texture target for short dumps.
Michal Krol [Tue, 26 Feb 2008 19:32:42 +0000 (20:32 +0100)]
gallium: Print texture target for short dumps.

16 years agocell: Multiple rendering contexts don't work yet
Ian Romanick [Tue, 26 Feb 2008 19:18:51 +0000 (11:18 -0800)]
cell: Multiple rendering contexts don't work yet

Log a message and forcibly exit.  This prevents silly fools from
thinking there's a bug...instead of just an unimplemented feature. :)

16 years agointel_winsys: Fix build failure due to DEBUG_IOCTL being undefined.
Michel Dänzer [Tue, 26 Feb 2008 18:48:13 +0000 (18:48 +0000)]
intel_winsys: Fix build failure due to DEBUG_IOCTL being undefined.

Include pipe/p_debug.h to consistently enable or disable the debugging code.

16 years agogallium/i915: Use tgsi_scan_shader() to collect shader info
Brian [Tue, 26 Feb 2008 17:47:42 +0000 (10:47 -0700)]
gallium/i915: Use tgsi_scan_shader() to collect shader info

No longer use semantic info in pipe_shader_state.
Also, remove redundant semantic info from i915_fp_compile struct.

16 years agogallium: remove unused var
Brian [Tue, 26 Feb 2008 17:44:44 +0000 (10:44 -0700)]
gallium: remove unused var

16 years agogallium: added tgsi_shader_field to sp_fragment_shader
Brian [Tue, 26 Feb 2008 17:13:39 +0000 (10:13 -0700)]
gallium: added tgsi_shader_field to sp_fragment_shader

Use the shader semantic info from there, instead of from pipe_shader_state.
Carry this idea to draw module and other drivers...

16 years agogallium: collect more shader info in tgsi_scan_shader()
Brian [Tue, 26 Feb 2008 17:12:17 +0000 (10:12 -0700)]
gallium: collect more shader info in tgsi_scan_shader()

Now getting input/output semantic info so we can eventually remove those
fields from pipe_shader_state.

16 years agogallium: remove input_map[] from pipe_shader_state
Brian [Tue, 26 Feb 2008 15:43:07 +0000 (08:43 -0700)]
gallium: remove input_map[] from pipe_shader_state

16 years agogallium: disable debug code
Brian [Tue, 26 Feb 2008 15:41:42 +0000 (08:41 -0700)]
gallium: disable debug code

16 years agoscons: Prefer MSVS 2003 (patch by Mark Mueller).
José Fonseca [Tue, 26 Feb 2008 14:59:53 +0000 (23:59 +0900)]
scons: Prefer MSVS 2003 (patch by Mark Mueller).

16 years agoscons: Properly generate PDB files on MSVC.
José Fonseca [Tue, 26 Feb 2008 13:31:03 +0000 (22:31 +0900)]
scons: Properly generate PDB files on MSVC.

16 years agogallium: Add missing copyright headers.
José Fonseca [Tue, 26 Feb 2008 05:05:31 +0000 (14:05 +0900)]
gallium: Add missing copyright headers.

16 years agoMerge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Tue, 26 Feb 2008 13:34:31 +0000 (00:34 +1100)]
Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1

16 years agogallium: Fix build on Windows.
Michal Krol [Tue, 26 Feb 2008 10:49:25 +0000 (11:49 +0100)]
gallium: Fix build on Windows.

16 years agoimplement cache limits for cso
Zack Rusin [Tue, 26 Feb 2008 06:48:01 +0000 (01:48 -0500)]
implement cache limits for cso
by default set to 4096, which might be on the large side

16 years agoadd an explicit callback decleration and use it to silence warnings
Zack Rusin [Tue, 26 Feb 2008 05:18:54 +0000 (00:18 -0500)]
add an explicit callback decleration and use it to silence warnings

16 years agohide cso cache definition and add some initial code for size limiting
Zack Rusin [Tue, 26 Feb 2008 05:15:55 +0000 (00:15 -0500)]
hide cso cache definition and add some initial code for size limiting
the caches

16 years agoimplement deleting of driver side cached state in cso's
Zack Rusin [Tue, 26 Feb 2008 03:03:58 +0000 (22:03 -0500)]
implement deleting of driver side cached state in cso's

16 years agogallium: rewrite AA point fragment shader to use a CMP instruction instead of IF...
Brian [Tue, 26 Feb 2008 01:56:03 +0000 (18:56 -0700)]
gallium: rewrite AA point fragment shader to use a CMP instruction instead of IF/ELSE/ENDIF

Allows the shader to work on i915 hardware.

16 years agogallium/i915: plug in aapoint draw stage
Brian [Tue, 26 Feb 2008 01:53:57 +0000 (18:53 -0700)]
gallium/i915: plug in aapoint draw stage

16 years agogallium/i915: Fix emit_hw_vertex(): need to use vinfo->src_index[]
Brian [Tue, 26 Feb 2008 01:53:22 +0000 (18:53 -0700)]
gallium/i915: Fix emit_hw_vertex(): need to use vinfo->src_index[]

16 years agogallium/i915: remove debug code
Brian [Tue, 26 Feb 2008 01:00:14 +0000 (18:00 -0700)]
gallium/i915: remove debug code

16 years agogallium/i915: fix i915_emit_texld() to handle swizzled texcoords
Brian [Tue, 26 Feb 2008 00:59:51 +0000 (17:59 -0700)]
gallium/i915: fix i915_emit_texld() to handle swizzled texcoords

Allocate a temporary register, insert MOV instruction, etc.

16 years agocell: Additional changes to match changes in draw/draw_vertex_shader.c
Ian Romanick [Tue, 26 Feb 2008 00:15:59 +0000 (16:15 -0800)]
cell: Additional changes to match changes in draw/draw_vertex_shader.c

16 years agocell: Fix off-by-one error in spu_dcache_fetch_unaligned
Ian Romanick [Sat, 23 Feb 2008 01:51:55 +0000 (17:51 -0800)]
cell: Fix off-by-one error in spu_dcache_fetch_unaligned

This time the off-by-one error caused an extra qword to be fetched
under certain circumstances when the source ea was not qword aligned.

16 years agocell: Trivial compiler warning clean-ups.
Ian Romanick [Sat, 23 Feb 2008 00:27:39 +0000 (16:27 -0800)]
cell: Trivial compiler warning clean-ups.

16 years agoCell: Remove unnecessary include files
Ian Romanick [Fri, 22 Feb 2008 00:41:12 +0000 (16:41 -0800)]
Cell: Remove unnecessary include files