mesa.git
14 years agoi965g: add data type tags to aid dumping/decoding
Keith Whitwell [Thu, 5 Nov 2009 10:59:02 +0000 (10:59 +0000)]
i965g: add data type tags to aid dumping/decoding

14 years agoi965g: use pipe_error return value for brw_batchbuffer_require_space
Keith Whitwell [Thu, 5 Nov 2009 08:01:48 +0000 (08:01 +0000)]
i965g: use pipe_error return value for brw_batchbuffer_require_space

trivial/tri runs without crashing (on debug winsys) but still produces
obviously incorrect command buffers.

14 years agoi965g: fix compiler warning
Keith Whitwell [Thu, 5 Nov 2009 08:00:33 +0000 (08:00 +0000)]
i965g: fix compiler warning

15 years agoi965g: Builds with scons
Jakob Bornecrantz [Thu, 5 Nov 2009 00:42:30 +0000 (00:42 +0000)]
i965g: Builds with scons

But there are some missing symbols, "nm -u i965_dri.so"
[SNIP]
                 U brw_surface_bo
                 U brw_surface_pitch
                 U brw_texture_blanket_winsys_buffer
                 U brw_texture_get_winsys_buffer
                 U brw_update_dirty_counts
[SNIP]

15 years agoi965g: Fix debug check
Jakob Bornecrantz [Thu, 5 Nov 2009 00:38:51 +0000 (00:38 +0000)]
i965g: Fix debug check

15 years agoi965g: Build with configure
Jakob Bornecrantz [Wed, 4 Nov 2009 23:02:13 +0000 (23:02 +0000)]
i965g: Build with configure

15 years agoi965g: Do not create a symlink for i965_dri.so
Jakob Bornecrantz [Wed, 4 Nov 2009 23:02:04 +0000 (23:02 +0000)]
i965g: Do not create a symlink for i965_dri.so

15 years agoi915g: Do not create a symlink for i965_dri.so
Jakob Bornecrantz [Wed, 4 Nov 2009 23:01:24 +0000 (23:01 +0000)]
i915g: Do not create a symlink for i965_dri.so

15 years agoi965g: enable line stipple packet emit
Keith Whitwell [Wed, 4 Nov 2009 23:44:16 +0000 (23:44 +0000)]
i965g: enable line stipple packet emit

With this change, trivial/tri manages to build and emit
a fairly unconvincing command buffer (to the debug winsys),
and then crashes.

15 years agoi965g: fix order of calculation of brw->wm.nr_surfaces
Keith Whitwell [Wed, 4 Nov 2009 23:41:30 +0000 (23:41 +0000)]
i965g: fix order of calculation of brw->wm.nr_surfaces

15 years agoi965g: consolidate some includes
Keith Whitwell [Wed, 4 Nov 2009 23:37:52 +0000 (23:37 +0000)]
i965g: consolidate some includes

15 years agoi965g: fix some asserts
Keith Whitwell [Wed, 4 Nov 2009 23:33:08 +0000 (23:33 +0000)]
i965g: fix some asserts

15 years agoi965g: remove redundant screen pointer in brw context struct
Keith Whitwell [Wed, 4 Nov 2009 23:30:52 +0000 (23:30 +0000)]
i965g: remove redundant screen pointer in brw context struct

15 years agoi965g: initialize winsys pointer in surface cache
Keith Whitwell [Wed, 4 Nov 2009 23:27:50 +0000 (23:27 +0000)]
i965g: initialize winsys pointer in surface cache

15 years agoi965g: init pointer to null, avoid segfault
Keith Whitwell [Wed, 4 Nov 2009 23:27:30 +0000 (23:27 +0000)]
i965g: init pointer to null, avoid segfault

15 years agoi965g: clean up wm init_registers func
Keith Whitwell [Wed, 4 Nov 2009 23:22:48 +0000 (23:22 +0000)]
i965g: clean up wm init_registers func

15 years agoi965g: hook up some missing vertex shader code
Keith Whitwell [Wed, 4 Nov 2009 23:18:07 +0000 (23:18 +0000)]
i965g: hook up some missing vertex shader code

15 years agoi965g: hook up some vertex state funcs
Keith Whitwell [Wed, 4 Nov 2009 23:09:23 +0000 (23:09 +0000)]
i965g: hook up some vertex state funcs

15 years agows/i965: allow NULL buffer in winsys::bo_unreference
Keith Whitwell [Wed, 4 Nov 2009 23:09:05 +0000 (23:09 +0000)]
ws/i965: allow NULL buffer in winsys::bo_unreference

Special case to avoid clutter in the driver

15 years agoi965g: pull in a copy of intel_decode.c for now
Keith Whitwell [Wed, 4 Nov 2009 21:35:29 +0000 (21:35 +0000)]
i965g: pull in a copy of intel_decode.c for now

With the stubbed out, non-hardware xlib winsys, trivial/clear runs and
prints a plausible command stream

15 years agoi965g: hook up flush-frontbuffer
Keith Whitwell [Wed, 4 Nov 2009 21:12:48 +0000 (21:12 +0000)]
i965g: hook up flush-frontbuffer

15 years agoi965g: fix up batchbuffer confusion
Keith Whitwell [Wed, 4 Nov 2009 21:05:34 +0000 (21:05 +0000)]
i965g: fix up batchbuffer confusion

15 years agoi965g: plumb in some surface state
Keith Whitwell [Wed, 4 Nov 2009 20:36:48 +0000 (20:36 +0000)]
i965g: plumb in some surface state

15 years agoi965g: hook up pipe_clear functions
Keith Whitwell [Wed, 4 Nov 2009 20:26:41 +0000 (20:26 +0000)]
i965g: hook up pipe_clear functions

15 years agoi965g: add constant buffer setter
Keith Whitwell [Wed, 4 Nov 2009 19:41:02 +0000 (19:41 +0000)]
i965g: add constant buffer setter

15 years agoi965g: add missing is_*_referenced callbacks
Keith Whitwell [Wed, 4 Nov 2009 19:32:44 +0000 (19:32 +0000)]
i965g: add missing is_*_referenced callbacks

15 years agoi965g: initialize surface refcount
Keith Whitwell [Wed, 4 Nov 2009 19:03:06 +0000 (19:03 +0000)]
i965g: initialize surface refcount

15 years agoi965g: add more missing pipe callbacks
Keith Whitwell [Wed, 4 Nov 2009 18:26:34 +0000 (18:26 +0000)]
i965g: add more missing pipe callbacks

15 years agoi965g: add some missing texture creation code
Keith Whitwell [Wed, 4 Nov 2009 16:42:44 +0000 (16:42 +0000)]
i965g: add some missing texture creation code

15 years agoi965g: stubs for brw_pipe_vertex.c
Keith Whitwell [Wed, 4 Nov 2009 16:03:52 +0000 (16:03 +0000)]
i965g: stubs for brw_pipe_vertex.c

15 years agoi965g: hook up pipe sampler callbacks
Keith Whitwell [Wed, 4 Nov 2009 15:59:56 +0000 (15:59 +0000)]
i965g: hook up pipe sampler callbacks

15 years agoi965g: hook up more pipe_context functions
Keith Whitwell [Wed, 4 Nov 2009 15:25:42 +0000 (15:25 +0000)]
i965g: hook up more pipe_context functions

15 years agoi965g: add missing buffer functions
Keith Whitwell [Wed, 4 Nov 2009 15:10:34 +0000 (15:10 +0000)]
i965g: add missing buffer functions

15 years agows/i965: add load-time driver registration
Keith Whitwell [Wed, 4 Nov 2009 14:03:25 +0000 (14:03 +0000)]
ws/i965: add load-time driver registration

Otherwise xlib state-tracker doesn't know about us.

15 years agows/i965: add butt-ugly linker hack
Keith Whitwell [Wed, 4 Nov 2009 13:59:59 +0000 (13:59 +0000)]
ws/i965: add butt-ugly linker hack

Need more linker magic to keep the glX symbols externally visible even
though they started off in a .a file.

15 years agoi965g: hook up brw_screen.c
Keith Whitwell [Wed, 4 Nov 2009 13:54:44 +0000 (13:54 +0000)]
i965g: hook up brw_screen.c

15 years agoi965g: add standalone xlib debug winsys
Keith Whitwell [Wed, 4 Nov 2009 13:03:35 +0000 (13:03 +0000)]
i965g: add standalone xlib debug winsys

Create a dummy winsys that just debug-prints on calls into the winsys
functions.  Will use this to get to the point where we are generating
sane-looking debug dumps and diassembly.

Also fix various warnings generated with the new compiler flags set in
this config.

15 years agoi965g: convert read/write domain pairs into single usage value
Keith Whitwell [Tue, 3 Nov 2009 23:16:02 +0000 (23:16 +0000)]
i965g: convert read/write domain pairs into single usage value

Easier to understand what's going on in the driver sources, convert
stereotype usage values back to GEM read/write domain flags in the
winsys.

15 years agoi965g: format RELOCs similarly
Keith Whitwell [Mon, 2 Nov 2009 08:49:02 +0000 (08:49 +0000)]
i965g: format RELOCs similarly

15 years agoi965g: rename brw_constant_buffer to brw_curbe_buffer
Keith Whitwell [Mon, 2 Nov 2009 08:48:26 +0000 (08:48 +0000)]
i965g: rename brw_constant_buffer to brw_curbe_buffer

Now that there are real constant buffers, try to reduce naming confusion.

15 years agoi965g: driver and winsys compile
Keith Whitwell [Sun, 1 Nov 2009 19:30:53 +0000 (19:30 +0000)]
i965g: driver and winsys compile

A milestone of sorts.  Still a long way from something working --
the old one compiled too, at least some of the time...

15 years agoi965g: the whole drivers/i965 directory is compiling
Keith Whitwell [Sun, 1 Nov 2009 17:55:16 +0000 (17:55 +0000)]
i965g: the whole drivers/i965 directory is compiling

That was a lot more work than I expected.  Still the winsys to go,
then the small matter of making it work and re-enabling the
missing functionality.

15 years agoi965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 17:18:56 +0000 (17:18 +0000)]
i965g: more files compiling

15 years agoi965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 15:59:21 +0000 (15:59 +0000)]
i965g: more files compiling

15 years agoi965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 14:32:50 +0000 (14:32 +0000)]
i965g: more files compiling

15 years agoi965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 13:11:56 +0000 (13:11 +0000)]
i965g: more files compiling

15 years agoi965g: more work on compilation -- surface management
Keith Whitwell [Sun, 1 Nov 2009 12:08:14 +0000 (12:08 +0000)]
i965g: more work on compilation -- surface management

15 years agoi965g: more work on compilation
Keith Whitwell [Sat, 31 Oct 2009 20:05:19 +0000 (20:05 +0000)]
i965g: more work on compilation

15 years agoi965g: non-glsl fragment shader path is compiling
Keith Whitwell [Sat, 31 Oct 2009 18:23:14 +0000 (18:23 +0000)]
i965g: non-glsl fragment shader path is compiling

Disabled glsl code for now, probably want to clean this up somehow.

15 years agoi965g: wip on fragment shaders
Keith Whitwell [Sat, 31 Oct 2009 15:05:01 +0000 (15:05 +0000)]
i965g: wip on fragment shaders

15 years agoi965g: work in progress on fragment shaders
Keith Whitwell [Thu, 29 Oct 2009 20:18:01 +0000 (20:18 +0000)]
i965g: work in progress on fragment shaders

15 years agoi965g: still working on compilation
Keith Whitwell [Wed, 28 Oct 2009 21:24:03 +0000 (21:24 +0000)]
i965g: still working on compilation

15 years agoi965g: still working on compilation
Keith Whitwell [Tue, 27 Oct 2009 00:29:21 +0000 (00:29 +0000)]
i965g: still working on compilation

15 years agoi965g: still working on compilation
Keith Whitwell [Mon, 26 Oct 2009 01:11:36 +0000 (01:11 +0000)]
i965g: still working on compilation

15 years agoi965g: still working on compilation
Keith Whitwell [Mon, 26 Oct 2009 00:20:33 +0000 (00:20 +0000)]
i965g: still working on compilation

15 years agoi965g: start hooking up some to the gallium context interfaces
Keith Whitwell [Sun, 25 Oct 2009 11:36:22 +0000 (11:36 +0000)]
i965g: start hooking up some to the gallium context interfaces

- create/bind/destroy blend and depth state
- framebuffer and viewport
- etc.

15 years agoi965g: more compiling wip
Keith Whitwell [Sun, 25 Oct 2009 00:20:56 +0000 (01:20 +0100)]
i965g: more compiling wip

15 years agoi965g: more work on compiling, particularly the brw_draw files
Keith Whitwell [Sat, 24 Oct 2009 23:02:16 +0000 (00:02 +0100)]
i965g: more work on compiling, particularly the brw_draw files

15 years agoi965g: more work on compiling
Keith Whitwell [Sat, 24 Oct 2009 16:07:01 +0000 (17:07 +0100)]
i965g: more work on compiling

15 years agoi965g: more files compiling
Keith Whitwell [Sat, 24 Oct 2009 12:18:34 +0000 (13:18 +0100)]
i965g: more files compiling

15 years agoi965g: hook into build system
Keith Whitwell [Sat, 24 Oct 2009 10:55:25 +0000 (11:55 +0100)]
i965g: hook into build system

15 years agows/i965: renames from i915, hook up makefiles
Keith Whitwell [Sat, 24 Oct 2009 10:55:05 +0000 (11:55 +0100)]
ws/i965: renames from i915, hook up makefiles

15 years agoi965g: first compiling file
Keith Whitwell [Sat, 24 Oct 2009 10:53:43 +0000 (11:53 +0100)]
i965g: first compiling file

15 years agows/i965: pull in the rest of the i915 winsys tree.
Keith Whitwell [Fri, 23 Oct 2009 22:37:45 +0000 (23:37 +0100)]
ws/i965: pull in the rest of the i915 winsys tree.

The intel_xorg file looks like it's got quite a bit of code that could
be lifted up into the xorg state tracker -- should really just have a
list of pci ids and a pointer to a screen create func.

15 years agows/i965: clone the i915 winsys
Keith Whitwell [Fri, 23 Oct 2009 22:36:02 +0000 (23:36 +0100)]
ws/i965: clone the i915 winsys

I'll want to rework this, not sure trying to share this code is a very
good idea at least until the interfaces from the two drivers calm
down.

15 years agoi965g: wip on removing GL stuff, trying to get a few files compiling
Keith Whitwell [Fri, 23 Oct 2009 22:27:43 +0000 (23:27 +0100)]
i965g: wip on removing GL stuff, trying to get a few files compiling

15 years agoi965: ignore cliprect_mode
Keith Whitwell [Fri, 23 Oct 2009 19:19:14 +0000 (20:19 +0100)]
i965: ignore cliprect_mode

15 years agoi965g: wip
Keith Whitwell [Fri, 23 Oct 2009 16:01:32 +0000 (17:01 +0100)]
i965g: wip

15 years agoi965g: re-starting from the dri driver
Keith Whitwell [Fri, 23 Oct 2009 15:55:02 +0000 (16:55 +0100)]
i965g: re-starting from the dri driver

15 years agogallium: remove extended negate also, and also the ExtSwz token
Keith Whitwell [Fri, 23 Oct 2009 13:50:02 +0000 (14:50 +0100)]
gallium: remove extended negate also, and also the ExtSwz token

Likewise, the extended negate functionality hasn't been
used since mesa switched to using tgsi_ureg to build programs,
and has been translating the SWZ opcode internally to a single MAD.

15 years agocell: typo from ExtSwizzle commit
Keith Whitwell [Fri, 23 Oct 2009 13:38:30 +0000 (14:38 +0100)]
cell: typo from ExtSwizzle commit

15 years agogallium: remove the swizzling parts of ExtSwizzle
Keith Whitwell [Fri, 23 Oct 2009 13:31:24 +0000 (14:31 +0100)]
gallium: remove the swizzling parts of ExtSwizzle

These haven't been used by the mesa state tracker since the
conversion to tgsi_ureg, and it seems that none of the
other state trackers are using it either.

This helps simplify one of the biggest suprises when starting off with
TGSI shaders.

15 years agogallium: remove noise opcodes
Keith Whitwell [Fri, 23 Oct 2009 12:49:04 +0000 (13:49 +0100)]
gallium: remove noise opcodes

Provide a dummy implementation in the GL state tracker (move 0.5 to
the destination regs).

At some point, a motivated person could add a better
implementation of noise.  Currently not even the nvidia
binary drivers do anything more than this.  In any case, the
place to do this is in the GL state tracker, not the poor
driver.

15 years agoprogs/demos: add fps to multiarb
Keith Whitwell [Sat, 26 Sep 2009 07:39:57 +0000 (08:39 +0100)]
progs/demos: add fps to multiarb

15 years agor300g: last changes's typo, miss a include file
Cooper Yuan [Fri, 23 Oct 2009 08:40:31 +0000 (16:40 +0800)]
r300g: last changes's typo, miss a include file

15 years agor300g: add flush_frontbuffer function to display video surface
Cooper Yuan [Fri, 23 Oct 2009 06:46:29 +0000 (14:46 +0800)]
r300g: add flush_frontbuffer function to display video surface

15 years agog3dvl: pass display and screen to g3dvl when creating video private context
Cooper Yuan [Fri, 23 Oct 2009 06:44:27 +0000 (14:44 +0800)]
g3dvl: pass display and screen to g3dvl when creating video private context

15 years agor600: remove remains of old tnl pipeline
Alex Deucher [Fri, 23 Oct 2009 05:00:23 +0000 (01:00 -0400)]
r600: remove remains of old tnl pipeline

15 years agor600: fix render size prediction
Alex Deucher [Fri, 23 Oct 2009 04:40:41 +0000 (00:40 -0400)]
r600: fix render size prediction

15 years agor600: remove old tnl pipeline
Alex Deucher [Thu, 22 Oct 2009 21:41:31 +0000 (17:41 -0400)]
r600: remove old tnl pipeline

15 years agor600: clean up context creation
Alex Deucher [Thu, 22 Oct 2009 21:18:01 +0000 (17:18 -0400)]
r600: clean up context creation

Make it more consistent with other radeon drivers.

15 years agoRevert "Store clipping distance for user clip planes as part of vertex processing"
Ian Romanick [Fri, 23 Oct 2009 02:21:21 +0000 (19:21 -0700)]
Revert "Store clipping distance for user clip planes as part of vertex processing"

This reverts commit f058b25881e08c9d89a33345e5c84e1357396932.

This change is completely wrong in so many ways.  When clip distances
are generated as part of vertex processing, they must be interpolated
to perform clipping.  Geometric clipping goes right out the window.

15 years agoMerge branch 'mesa_7_6_branch'
Brian Paul [Fri, 23 Oct 2009 00:38:19 +0000 (18:38 -0600)]
Merge branch 'mesa_7_6_branch'

15 years agodocs: document 'useprog' debug option
Brian Paul [Thu, 22 Oct 2009 15:38:39 +0000 (09:38 -0600)]
docs: document 'useprog' debug option

15 years agomesa: fix up vbo comments
Brian Paul [Thu, 22 Oct 2009 15:37:56 +0000 (09:37 -0600)]
mesa: fix up vbo comments

15 years agomesa: added _mesa_dump_texture()
Brian Paul [Thu, 22 Oct 2009 15:37:22 +0000 (09:37 -0600)]
mesa: added _mesa_dump_texture()

15 years agointel: flush old context before binding new context
Brian Paul [Fri, 23 Oct 2009 00:32:48 +0000 (18:32 -0600)]
intel: flush old context before binding new context

Per the GLX spec, when changing rendering contexts, the old context
should first be flushed.

15 years agoglx: don't destroy context immediately if it's currently bound
Brian Paul [Fri, 23 Oct 2009 00:19:01 +0000 (18:19 -0600)]
glx: don't destroy context immediately if it's currently bound

According to the GLXDestroyContext() man page, the context should not
immediately be destroyed if it's bound to some thread.  Wait until it's
unbound to really delete it.  The code for doing the later part is
already present in MakeContextCurrent() so no change was needed there.

15 years agomesa: code refactoring- new _mesa_finish(), _mesa_flush()
Brian Paul [Fri, 23 Oct 2009 00:16:10 +0000 (18:16 -0600)]
mesa: code refactoring- new _mesa_finish(), _mesa_flush()

15 years agost/xorg: fix the makefile when used with new xextproto
Zack Rusin [Thu, 22 Oct 2009 23:31:44 +0000 (19:31 -0400)]
st/xorg: fix the makefile when used with new xextproto

15 years agoprogs/xdemos: fix command line flag typo
Brian Paul [Thu, 22 Oct 2009 23:11:59 +0000 (17:11 -0600)]
progs/xdemos: fix command line flag typo

15 years agoi965: fix hacked Fallback usage in brw_prepare_vertices()
Brian Paul [Thu, 22 Oct 2009 22:45:50 +0000 (16:45 -0600)]
i965: fix hacked Fallback usage in brw_prepare_vertices()

Setting intel->Fallback = 1 clobbered any fallback state that was already
set.  Not sure where this hack originated (the git history is a little
convoluted).  Define and use a new BRW_FALLBACK_DRAW bit instead.  This
shouldn't break anything and could potentially fix some bugs (but no
specific ones are known).

15 years agointel: define INTEL_FALLBACK_DRIVER for drivers
Brian Paul [Thu, 22 Oct 2009 22:45:03 +0000 (16:45 -0600)]
intel: define INTEL_FALLBACK_DRIVER for drivers

15 years agointel: Fallback field is a bitmask, use GLbitfield
Brian Paul [Thu, 22 Oct 2009 22:33:36 +0000 (16:33 -0600)]
intel: Fallback field is a bitmask, use GLbitfield

15 years agoi965: remove unused brw_context::tmp_fallback field
Brian Paul [Thu, 22 Oct 2009 22:32:08 +0000 (16:32 -0600)]
i965: remove unused brw_context::tmp_fallback field

15 years agoi965: remove unused BRW_FALLBACK_TEXTURE bit
Brian Paul [Thu, 22 Oct 2009 22:26:54 +0000 (16:26 -0600)]
i965: remove unused BRW_FALLBACK_TEXTURE bit

The value was probably wrong too.
It was the same as INTEL_FALLBACK_DRAW_BUFFER.

15 years agor300g: Enable more stuff in r300_screen, cleanup comments.
Corbin Simpson [Thu, 22 Oct 2009 21:28:47 +0000 (14:28 -0700)]
r300g: Enable more stuff in r300_screen, cleanup comments.

Also enable 24-bit depth buffers without stencil.

15 years agor300g: Cleanup PSC setup math a bit and stop using Draw formats.
Corbin Simpson [Thu, 22 Oct 2009 20:42:03 +0000 (13:42 -0700)]
r300g: Cleanup PSC setup math a bit and stop using Draw formats.

15 years agonv50: handle PIPE_TEX_FILTER_ANISO case
Christoph Bumiller [Thu, 22 Oct 2009 20:57:30 +0000 (22:57 +0200)]
nv50: handle PIPE_TEX_FILTER_ANISO case

Set the same bits as for linear filtering (in addition
to max anisotropy), and 2 unknown bits I've seen set.

15 years agonouveau: nv30: rewrite so we can render only in depth buffer
Patrice Mandin [Thu, 22 Oct 2009 20:01:53 +0000 (22:01 +0200)]
nouveau: nv30: rewrite so we can render only in depth buffer