mesa.git
15 years agor300: Add dsa state emit.
Corbin Simpson [Tue, 27 Jan 2009 12:48:19 +0000 (04:48 -0800)]
r300: Add dsa state emit.

Seeing a pattern yet?

15 years agor300: Add blend color state emit.
Corbin Simpson [Tue, 27 Jan 2009 12:04:57 +0000 (04:04 -0800)]
r300: Add blend color state emit.

Slow and steady wins the race. Or something like that.

15 years agor300: Count BEGIN_CS, END_CS, warn if count is off.
Corbin Simpson [Tue, 27 Jan 2009 12:03:38 +0000 (04:03 -0800)]
r300: Count BEGIN_CS, END_CS, warn if count is off.

15 years agor300: Set up blend state emit, clean up blend registers.
Corbin Simpson [Tue, 27 Jan 2009 11:40:46 +0000 (03:40 -0800)]
r300: Set up blend state emit, clean up blend registers.

Also add at least one missing register to r300_reg.

15 years agor300: Add r300_flush.
Corbin Simpson [Mon, 26 Jan 2009 18:26:41 +0000 (10:26 -0800)]
r300: Add r300_flush.

Haha, I always do this.

15 years agor300: Deobfuscate a few registers, fix inaccurate variable names.
Corbin Simpson [Mon, 26 Jan 2009 10:18:56 +0000 (02:18 -0800)]
r300: Deobfuscate a few registers, fix inaccurate variable names.

It's not "pipes", it's floating-point vertex processors. Completely different.

15 years agor300: Working trivial/clear for RV410.
Corbin Simpson [Mon, 26 Jan 2009 05:35:26 +0000 (21:35 -0800)]
r300: Working trivial/clear for RV410.

This might work for other people too.

15 years agoBROKEN
Corbin Simpson [Mon, 26 Jan 2009 00:29:02 +0000 (16:29 -0800)]
BROKEN

This commit is only to protect against data loss, so please skip it when
bisecting. Thanks.

15 years agoRebased to gallium-0.2, Jan 24 2009.
Corbin Simpson [Sat, 24 Jan 2009 14:21:00 +0000 (06:21 -0800)]
Rebased to gallium-0.2, Jan 24 2009.

15 years agor300: Hook up clear, set it to fallback.
Corbin Simpson [Sat, 24 Jan 2009 13:44:01 +0000 (05:44 -0800)]
r300: Hook up clear, set it to fallback.

15 years agor300: Make format names legible.
Corbin Simpson [Sat, 24 Jan 2009 12:11:03 +0000 (04:11 -0800)]
r300: Make format names legible.

15 years agor300: Add more capabilities.
Corbin Simpson [Sat, 24 Jan 2009 12:08:33 +0000 (04:08 -0800)]
r300: Add more capabilities.

15 years agor300: Newlines, dammit!
Corbin Simpson [Sat, 24 Jan 2009 12:03:27 +0000 (04:03 -0800)]
r300: Newlines, dammit!

15 years agor300: More state setters.
Corbin Simpson [Sat, 24 Jan 2009 12:03:11 +0000 (04:03 -0800)]
r300: More state setters.

15 years agor300: Add some useful debugging information; remove a couple compile warnings.
Corbin Simpson [Sat, 24 Jan 2009 11:34:17 +0000 (03:34 -0800)]
r300: Add some useful debugging information; remove a couple compile warnings.

Deck chairs on the Titanic.

15 years agor300: Remove radeon_reg.
Corbin Simpson [Sat, 24 Jan 2009 10:12:55 +0000 (02:12 -0800)]
r300: Remove radeon_reg.

Wonder why this was ever committed...

15 years agor300: Put r300_blit to bed.
Corbin Simpson [Sat, 24 Jan 2009 10:03:35 +0000 (02:03 -0800)]
r300: Put r300_blit to bed.

Not going to be using the blitter. Period.

15 years agor300: Plan for the next state setters.
Corbin Simpson [Sat, 24 Jan 2009 09:49:57 +0000 (01:49 -0800)]
r300: Plan for the next state setters.

15 years agor300: Moar state handlers.
Corbin Simpson [Sat, 24 Jan 2009 09:32:14 +0000 (01:32 -0800)]
r300: Moar state handlers.

Ah, my code's so bad. It's amazing.

15 years agor300: Finish basic state setup.
Corbin Simpson [Sat, 24 Jan 2009 01:01:04 +0000 (17:01 -0800)]
r300: Finish basic state setup.

I have successfully fooled glxinfo into believing that I am a competent
writer of code. Next step is to trick trivial/clear.

15 years agoamd: Fix uninitialized pipe_screen.
Corbin Simpson [Sat, 24 Jan 2009 00:34:00 +0000 (16:34 -0800)]
amd: Fix uninitialized pipe_screen.

15 years agoamd: Fix missing break statement.
Corbin Simpson [Sat, 24 Jan 2009 00:00:33 +0000 (16:00 -0800)]
amd: Fix missing break statement.

15 years agor300: Add fragment shader stubs.
Corbin Simpson [Fri, 23 Jan 2009 23:08:27 +0000 (15:08 -0800)]
r300: Add fragment shader stubs.

Not looking forward to filling these out at all.

15 years agor300: Add more pipe_texture stuff.
Corbin Simpson [Fri, 23 Jan 2009 11:09:15 +0000 (03:09 -0800)]
r300: Add more pipe_texture stuff.

This is enough to sate glxinfo, for now.

15 years agor300: Add initial pipe_texture handling.
Corbin Simpson [Fri, 23 Jan 2009 10:46:52 +0000 (02:46 -0800)]
r300: Add initial pipe_texture handling.

Still primitive and needing to be fleshed out, but it's a start.

15 years agor300: Add texture sampler state.
Corbin Simpson [Fri, 23 Jan 2009 05:47:05 +0000 (21:47 -0800)]
r300: Add texture sampler state.

Easy compared to the actual texture handling code.

15 years agor300: Add texture stubs.
Corbin Simpson [Fri, 23 Jan 2009 00:51:34 +0000 (16:51 -0800)]
r300: Add texture stubs.

15 years agoamd/r300: Wire up GETPARAM ioctls.
Corbin Simpson [Thu, 22 Jan 2009 21:34:21 +0000 (13:34 -0800)]
amd/r300: Wire up GETPARAM ioctls.

Whoo, stuff is starting to look cleaner and cleaner.

15 years agor300: Add sampler state skeleton.
Corbin Simpson [Thu, 22 Jan 2009 11:45:14 +0000 (03:45 -0800)]
r300: Add sampler state skeleton.

Heh, serendipitous sibilance. Anyway, need to flesh this out.

15 years agor300: Add num_vert_pipes (and remove busted num_pipes.)
Corbin Simpson [Thu, 22 Jan 2009 07:48:47 +0000 (23:48 -0800)]
r300: Add num_vert_pipes (and remove busted num_pipes.)

15 years agor300: Unbreak build, finish clear state.
Corbin Simpson [Thu, 22 Jan 2009 07:12:40 +0000 (23:12 -0800)]
r300: Unbreak build, finish clear state.

Completely untested, of course.

15 years ago[BROKEN] r300: Add initial clear/fill code.
Corbin Simpson [Wed, 21 Jan 2009 10:21:09 +0000 (02:21 -0800)]
[BROKEN] r300: Add initial clear/fill code.

Copied from mesa and still broken. Gimme a few to clean it up.

15 years agor300: Fix constness, compile warnings, indentation in r300_state.
Corbin Simpson [Tue, 20 Jan 2009 23:42:11 +0000 (15:42 -0800)]
r300: Fix constness, compile warnings, indentation in r300_state.

15 years agor300: Set floating-point params.
Corbin Simpson [Tue, 20 Jan 2009 23:38:43 +0000 (15:38 -0800)]
r300: Set floating-point params.

Note: I took those numbers from classic Mesa. I know that points are routinely
used to clear buffers, but line width is probably wrong.

15 years agor300: Fix indenting.
Corbin Simpson [Tue, 20 Jan 2009 23:27:46 +0000 (15:27 -0800)]
r300: Fix indenting.

15 years agor300: Fix missing free().
Corbin Simpson [Tue, 20 Jan 2009 23:26:41 +0000 (15:26 -0800)]
r300: Fix missing free().

15 years agor300: Add path for pci_id in winsys.
Corbin Simpson [Tue, 20 Jan 2009 09:49:34 +0000 (01:49 -0800)]
r300: Add path for pci_id in winsys.

Needs to be hooked up to the getparam from the kernel.

15 years agor300: Use chip caps for something.
Corbin Simpson [Tue, 20 Jan 2009 09:11:08 +0000 (01:11 -0800)]
r300: Use chip caps for something.

Step two: Integration. Yay?

Time to stop messing around with this and actually go do things.

15 years agor300: Add chipset sorting and capabilities.
Corbin Simpson [Tue, 20 Jan 2009 08:31:43 +0000 (00:31 -0800)]
r300: Add chipset sorting and capabilities.

Part one: Capabilities from classic Mesa.

Damn, if only we didn't have so many fucking Radeons!

15 years agor300: Various flags, small state tracking things.
Corbin Simpson [Tue, 20 Jan 2009 05:03:24 +0000 (21:03 -0800)]
r300: Various flags, small state tracking things.

Getting these out of the way so more stuff can be put in.

15 years agor300: Add a basic dirty state emit.
Corbin Simpson [Sat, 17 Jan 2009 11:20:48 +0000 (03:20 -0800)]
r300: Add a basic dirty state emit.

I feel strangely unproductive. Must be the cold.

15 years agor300: Remove r300_state.h
Corbin Simpson [Sat, 17 Jan 2009 10:27:33 +0000 (02:27 -0800)]
r300: Remove r300_state.h

15 years agor300: Add blend color.
Corbin Simpson [Sat, 17 Jan 2009 10:25:52 +0000 (02:25 -0800)]
r300: Add blend color.

15 years agor300: Add more state.
Corbin Simpson [Sat, 17 Jan 2009 09:41:52 +0000 (01:41 -0800)]
r300: Add more state.

pipe_rasterizer_state is big, and I'm still processing it.

Todo:
- LOL EVERYTHING
- Moar cough syrup.
- Even moar cough syrup.

15 years agor300: Fix errant inlines.
Corbin Simpson [Wed, 14 Jan 2009 20:51:47 +0000 (12:51 -0800)]
r300: Fix errant inlines.

This should unbreak dynamic loading.

15 years agor300: Hook up state functions.
Corbin Simpson [Wed, 14 Jan 2009 13:00:22 +0000 (05:00 -0800)]
r300: Hook up state functions.

Haha, should not have attempted the scissors.

15 years agor300: Add DSA state.
Corbin Simpson [Wed, 14 Jan 2009 12:37:36 +0000 (04:37 -0800)]
r300: Add DSA state.

That's it for now. Just the "easy" stuff.

Todo:
- Rasterizer state, which is a lot more than just the RS.
- Miscellaneous state which doesn't currently belong to any state object.
- Shader assemblers?
- Fix dynamic loading bugs.

15 years agor300: Add scissor state, fix build.
Corbin Simpson [Wed, 14 Jan 2009 08:49:48 +0000 (00:49 -0800)]
r300: Add scissor state, fix build.

15 years agor300: Add blend state.
Corbin Simpson [Wed, 14 Jan 2009 03:11:19 +0000 (19:11 -0800)]
r300: Add blend state.

Also switched to r300_reg instead of radeon_reg. Yay?

15 years agor300, amd: Add the ability to flush the CS.
Corbin Simpson [Tue, 13 Jan 2009 23:21:29 +0000 (15:21 -0800)]
r300, amd: Add the ability to flush the CS.

This is probably important, yeah?

15 years agor300, amd: Make everything build. (Not necessarily work, mind you.)
Corbin Simpson [Mon, 12 Jan 2009 09:40:50 +0000 (01:40 -0800)]
r300, amd: Make everything build. (Not necessarily work, mind you.)

Lots of structural work, especially in getting the two parts to talk nicely.

Todo:
- Get damn blitter working.
- Add CS flush.
- Reverse order of above two items.

15 years agoAnd unbreak traditional build.
Corbin Simpson [Sat, 10 Jan 2009 06:39:36 +0000 (22:39 -0800)]
And unbreak traditional build.

s/drm-radeon/drm_radeon/

15 years agoA bit of r300 cleanup.
Corbin Simpson [Sat, 10 Jan 2009 05:50:56 +0000 (21:50 -0800)]
A bit of r300 cleanup.

15 years agoMake r300 and amd build in scons.
Corbin Simpson [Sat, 10 Jan 2009 05:28:23 +0000 (21:28 -0800)]
Make r300 and amd build in scons.

15 years agor300: Hook up to winsys, add missing header.
Corbin Simpson [Sat, 10 Jan 2009 02:57:02 +0000 (18:57 -0800)]
r300: Hook up to winsys, add missing header.

In theory it works, which of course means that it doesn't.

15 years agogallium-r300: Add primitive CS.
Corbin Simpson [Fri, 9 Jan 2009 22:54:08 +0000 (14:54 -0800)]
gallium-r300: Add primitive CS.

Enough to get us up and running, I suppose.
This needs to be pushed down into winsys!

15 years agogallium-r300: Max LOD bias is 16.0.
Corbin Simpson [Fri, 9 Jan 2009 21:08:19 +0000 (13:08 -0800)]
gallium-r300: Max LOD bias is 16.0.

15 years agogallium-r300: Set right ROP for solid fills.
Corbin Simpson [Fri, 9 Jan 2009 14:05:36 +0000 (06:05 -0800)]
gallium-r300: Set right ROP for solid fills.

Thanks to MrCooper for pointing me in the right direction.

15 years agogallium-r300: Fit it all together now.
Corbin Simpson [Fri, 9 Jan 2009 13:11:19 +0000 (05:11 -0800)]
gallium-r300: Fit it all together now.

In theory, it could work, but there's still some very big gaps.
Anything marked with XXX should be taken care of first, probably.

15 years agogallium-r300: Add r300_surface.
Corbin Simpson [Fri, 9 Jan 2009 12:48:30 +0000 (04:48 -0800)]
gallium-r300: Add r300_surface.

Todo:
- Hook up surface functions.
- Take it for a spin and watch it crash 'n' burn.

15 years agogallium-r300: Add r300_blit.
Corbin Simpson [Fri, 9 Jan 2009 12:34:56 +0000 (04:34 -0800)]
gallium-r300: Add r300_blit.

Count the XXXs and weep?

15 years agogallium-r300: Add copyrights, place (broken) CS.
Corbin Simpson [Fri, 9 Jan 2009 10:32:53 +0000 (02:32 -0800)]
gallium-r300: Add copyrights, place (broken) CS.

Todo:
- Fill blits.
- Less suck.
- Ask glisse about how to get winsys+pipe talking right,
    so stuff like the CS can be set up right.

15 years agogallium-r300: Add r300_clear.
Corbin Simpson [Fri, 9 Jan 2009 00:33:29 +0000 (16:33 -0800)]
gallium-r300: Add r300_clear.

Todo:
- Less suckage.
- Re-read bo-cs stuff, figure out how the hell to emit state.
- Blits.

15 years agogallium-r300: Make it build.
Corbin Simpson [Thu, 8 Jan 2009 23:47:23 +0000 (15:47 -0800)]
gallium-r300: Make it build.

Still todo:
- Sort out winsys.
- Less suckage.

15 years agogallium-r300: Look less like i915.
Corbin Simpson [Thu, 8 Jan 2009 22:52:47 +0000 (14:52 -0800)]
gallium-r300: Look less like i915.

Todo:
- Figure out how much code goes in winsys.
- Make it build.
- Make it suck less.

15 years agogallium-r300: Add some headers.
Corbin Simpson [Thu, 8 Jan 2009 22:41:29 +0000 (14:41 -0800)]
gallium-r300: Add some headers.

Oh yeah, we're cookin' now!

15 years agogallium-r300: Initial commit.
Corbin Simpson [Tue, 6 Jan 2009 07:55:00 +0000 (23:55 -0800)]
gallium-r300: Initial commit.

Or should it be r300-gallium? Meh, whatever.

15 years agoamd: initial winsys
Jerome Glisse [Thu, 18 Dec 2008 17:29:51 +0000 (18:29 +0100)]
amd: initial winsys

15 years agogallium autoconf/automake
Jerome Glisse [Thu, 18 Dec 2008 12:36:07 +0000 (13:36 +0100)]
gallium autoconf/automake

15 years agoMerge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa...
Stephane Marchesin [Mon, 2 Feb 2009 01:13:07 +0000 (02:13 +0100)]
Merge branch 'gallium-0.2' of git+ssh://marcheu@git.freedesktop.org/git/mesa/mesa into gallium-0.2

15 years agonv04: some old changes I had lying around.
Stephane Marchesin [Mon, 2 Feb 2009 01:12:46 +0000 (02:12 +0100)]
nv04: some old changes I had lying around.

15 years agoMerge branch 'gallium-winsys-private' into gallium-0.2
Zack Rusin [Sun, 1 Feb 2009 23:48:16 +0000 (18:48 -0500)]
Merge branch 'gallium-winsys-private' into gallium-0.2

15 years agoprogs: Get more samples building on windows.
José Fonseca [Sun, 1 Feb 2009 12:00:07 +0000 (12:00 +0000)]
progs: Get more samples building on windows.

15 years agoutil: List new file in sconscript.
José Fonseca [Sun, 1 Feb 2009 10:31:25 +0000 (10:31 +0000)]
util: List new file in sconscript.

15 years agopipebuffer: Drop (most of) pipe winsys stuff.
José Fonseca [Sun, 1 Feb 2009 10:27:54 +0000 (10:27 +0000)]
pipebuffer: Drop (most of) pipe winsys stuff.

15 years agonv20: send buffer handles on hw state emit
Pekka Paalanen [Sat, 31 Jan 2009 21:32:32 +0000 (23:32 +0200)]
nv20: send buffer handles on hw state emit

Color and Z buffer offsets were emitted here, now also the buffer
handles are emitted so they target the correct memory.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
15 years agonv20: disable depth writes in hw init
Pekka Paalanen [Sat, 31 Jan 2009 21:28:38 +0000 (23:28 +0200)]
nv20: disable depth writes in hw init

Probably not necessary, but just in case. Depth registers point to the
color buffer, when there is no depth buffer.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
15 years agonv20: Z-mapping parameters
Pekka Paalanen [Sat, 31 Jan 2009 12:39:08 +0000 (14:39 +0200)]
nv20: Z-mapping parameters

Based on my renouveau dump, adjust initial hw state related to Z-mapping,
and add one unknown depth reg into depth/stencil/alpha emission.

Now trivial/tri-z on nv20 looks identical to swrast rendered one.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
15 years agonv20: draw_elements needs to flush
Pekka Paalanen [Sat, 31 Jan 2009 12:36:20 +0000 (14:36 +0200)]
nv20: draw_elements needs to flush

nv20_draw_elements() uses the draw module, and draw_flush() needs to be
called to actually emit the vertices immediately.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
15 years agonv20: set surface status in clear()
Pekka Paalanen [Sat, 31 Jan 2009 12:34:15 +0000 (14:34 +0200)]
nv20: set surface status in clear()

Other nvXX drivers seem to do this, so I do it too.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
15 years agogallium: initialize simple screen in drivers
Zack Rusin [Sat, 31 Jan 2009 20:14:38 +0000 (15:14 -0500)]
gallium: initialize simple screen in drivers

15 years agogallium: add a convience wrapper for simple screens
Zack Rusin [Fri, 30 Jan 2009 22:59:10 +0000 (17:59 -0500)]
gallium: add a convience wrapper for simple screens

forwards screen calls to the winsys

15 years agostw: Remove pipe_winsys references.
José Fonseca [Fri, 30 Jan 2009 22:04:35 +0000 (22:04 +0000)]
stw: Remove pipe_winsys references.

15 years agogallium: Don't ask winsys name -- let pipe screen do that if it wants.
José Fonseca [Fri, 30 Jan 2009 22:04:15 +0000 (22:04 +0000)]
gallium: Don't ask winsys name -- let pipe screen do that if it wants.

Allows to leave screen->winsys NULL.

15 years agostw: Don't use the winsys.
José Fonseca [Fri, 30 Jan 2009 21:51:59 +0000 (21:51 +0000)]
stw: Don't use the winsys.

15 years agogallium: make p_winsys internal
Zack Rusin [Fri, 30 Jan 2009 20:56:00 +0000 (15:56 -0500)]
gallium: make p_winsys internal

move it to pipe/internal/p_winsys_screen.h and start converting
the state trackers to the screen usage

15 years agoMerge branch 'gallium-0.2' into gallium-winsys-private
José Fonseca [Fri, 30 Jan 2009 17:01:23 +0000 (17:01 +0000)]
Merge branch 'gallium-0.2' into gallium-winsys-private

15 years agoutil: Define ffs for MinGW.
José Fonseca [Fri, 30 Jan 2009 14:59:32 +0000 (14:59 +0000)]
util: Define ffs for MinGW.

15 years agogdi: Update for winsys interface changes.
José Fonseca [Fri, 30 Jan 2009 14:32:11 +0000 (14:32 +0000)]
gdi: Update for winsys interface changes.

15 years agoMerge branch 'gallium-0.2' into gallium-winsys-private
José Fonseca [Fri, 30 Jan 2009 14:07:12 +0000 (14:07 +0000)]
Merge branch 'gallium-0.2' into gallium-winsys-private

15 years agopipebuffer: Consider 0 as no alignment needed.
José Fonseca [Fri, 30 Jan 2009 14:06:25 +0000 (14:06 +0000)]
pipebuffer: Consider 0 as no alignment needed.

15 years agogallium: give the screen priority when it comes to buffer allocations
Zack Rusin [Fri, 30 Jan 2009 02:43:15 +0000 (21:43 -0500)]
gallium: give the screen priority when it comes to buffer allocations

allows the driver to overwrite buffer allocation, first step on the way
to making winsys interface internal to the drivers. state trackers and
the code above it will go through the screen

15 years agogallium: Don't build egl state_tracker
Jakob Bornecrantz [Fri, 30 Jan 2009 01:24:47 +0000 (02:24 +0100)]
gallium: Don't build egl state_tracker

15 years agoegl: Don't fill shown screen
Jakob Bornecrantz [Fri, 30 Jan 2009 00:57:07 +0000 (01:57 +0100)]
egl: Don't fill shown screen

15 years agointel: Remove debug print
Jakob Bornecrantz [Fri, 30 Jan 2009 00:55:09 +0000 (01:55 +0100)]
intel: Remove debug print

15 years agoi915: Fix surface operations
Jakob Bornecrantz [Fri, 30 Jan 2009 00:53:50 +0000 (01:53 +0100)]
i915: Fix surface operations

15 years agopipebuffer: Ondemand buffer manager.
José Fonseca [Mon, 24 Nov 2008 14:17:49 +0000 (23:17 +0900)]
pipebuffer: Ondemand buffer manager.

A variation of malloc buffers which get transferred to real graphics memory
when there is an attempt to validate them.

15 years agopipebuffer: Implement proper buffer validation.
José Fonseca [Mon, 24 Nov 2008 04:59:06 +0000 (13:59 +0900)]
pipebuffer: Implement proper buffer validation.

15 years agoegl: Blit to the bound frontbuffer with pipe
Jakob Bornecrantz [Thu, 29 Jan 2009 01:33:22 +0000 (02:33 +0100)]
egl: Blit to the bound frontbuffer with pipe

15 years agointel: Set render domain on read and write
Jakob Bornecrantz [Thu, 29 Jan 2009 01:32:58 +0000 (02:32 +0100)]
intel: Set render domain on read and write