Compare commits
259 Commits
mesa-7.7-1
...
mesa-7.7-3
Author | SHA1 | Date | |
---|---|---|---|
|
eef7b39a36 | ||
|
04f4a8921b | ||
|
7078992fea | ||
|
f5145a6ec3 | ||
|
ddedfe12d4 | ||
|
cb5447f79c | ||
|
9fd3c74724 | ||
|
4d1234e222 | ||
|
3cba779e16 | ||
|
23eda89ec8 | ||
|
6e68898b05 | ||
|
1befcd5a2a | ||
|
12ba355978 | ||
|
a0907a645f | ||
|
1acf7a09e7 | ||
|
14dc02a1b2 | ||
|
88cf87bd56 | ||
|
31b3420688 | ||
|
4e95983fa8 | ||
|
4e506eac8f | ||
|
46167149ce | ||
|
96ec4eb755 | ||
|
e20547042c | ||
|
0451d0fd01 | ||
|
aa8b23e077 | ||
|
4eb48a3af7 | ||
|
8db8adfd01 | ||
|
8e240d7e0e | ||
|
40298bf272 | ||
|
a0518e66b2 | ||
|
82c76cd16f | ||
|
50e890bc51 | ||
|
bba9557019 | ||
|
2041d3e4b7 | ||
|
77b7b3a1ab | ||
|
0dab80fbfb | ||
|
e3257912e0 | ||
|
15fe491822 | ||
|
ac597f5acc | ||
|
5cb255f0d7 | ||
|
adcbe9af69 | ||
|
527f2433fc | ||
|
81f129113a | ||
|
9abcffc1c6 | ||
|
2f28ca0a27 | ||
|
0580e488da | ||
|
5435f790fd | ||
|
68ca19afd7 | ||
|
cbecb8fc8e | ||
|
645e297a00 | ||
|
af1e9403e7 | ||
|
1d8b308cbf | ||
|
6749310d3f | ||
|
0d051af612 | ||
|
6877c5de3c | ||
|
0b482c4fbe | ||
|
a3b783ea29 | ||
|
36fd55f9f0 | ||
|
16cf7e14a6 | ||
|
47d30b0c2c | ||
|
e88d6fe299 | ||
|
fdfa4c8529 | ||
|
e85cb98a16 | ||
|
e02dc13952 | ||
|
f429b80fff | ||
|
bc75ec0f38 | ||
|
6b55aacccb | ||
|
d57ba16ae3 | ||
|
7f2f42dd80 | ||
|
b62b524fee | ||
|
fb6bff3712 | ||
|
146a77af3f | ||
|
4bad0aef40 | ||
|
283d9565bf | ||
|
09a142e5db | ||
|
ca54a5b920 | ||
|
634ec5c2ab | ||
|
329c1b5910 | ||
|
5aee9e344b | ||
|
5e78903952 | ||
|
099e8ec54d | ||
|
8d1a01d370 | ||
|
efde2df114 | ||
|
64871747bb | ||
|
5ab0d49a07 | ||
|
96280c2a41 | ||
|
383f460cf7 | ||
|
3f6d732bfb | ||
|
8bc3c06d86 | ||
|
a1c5d8f61d | ||
|
cea9250ff0 | ||
|
dc544ad9c6 | ||
|
e8b5203fbb | ||
|
a626565178 | ||
|
beb8e8f2f2 | ||
|
e45579e50b | ||
|
31e49dc54e | ||
|
50edefec2d | ||
|
9782d7cdf3 | ||
|
c4ceba1141 | ||
|
3498616b03 | ||
|
0bc8851884 | ||
|
8410f7cde3 | ||
|
37246f854b | ||
|
1797494946 | ||
|
a8477fb00c | ||
|
707b28136f | ||
|
13c2475339 | ||
|
0ae076bf40 | ||
|
efc08bddb7 | ||
|
2cf8164065 | ||
|
4222bf3d3c | ||
|
c50fe2c55c | ||
|
e19b3c01f4 | ||
|
7c66211b7d | ||
|
0bc2cbf82a | ||
|
a416123f5b | ||
|
65d2a26637 | ||
|
4e34c5d0b5 | ||
|
9f728ed1c9 | ||
|
e3cb614f93 | ||
|
ac2a665fd7 | ||
|
bea9ed4dc6 | ||
|
c78fe6e050 | ||
|
65354a7e3d | ||
|
a5fb5d6a54 | ||
|
116a02be22 | ||
|
e88294328c | ||
|
7a39a5c1cb | ||
|
5e870f4fe9 | ||
|
e5da7b8548 | ||
|
faa99dd31d | ||
|
45a27eacd6 | ||
|
2613fa815a | ||
|
c4ad036ce1 | ||
|
7366d8e7d2 | ||
|
08063ba449 | ||
|
b36b85f9d0 | ||
|
6deb8c9831 | ||
|
2660511ea9 | ||
|
7395ab042a | ||
|
0b3109aa05 | ||
|
536e3c9168 | ||
|
b6dce54214 | ||
|
2cbc3e0a20 | ||
|
65fa11959f | ||
|
8fb92e96e9 | ||
|
bcadde2068 | ||
|
dc298559c6 | ||
|
ebd1075598 | ||
|
d0125e3c29 | ||
|
ed5a116eb4 | ||
|
2f83948370 | ||
|
419ae5a483 | ||
|
80ea879cfa | ||
|
6603550353 | ||
|
ec29ba12a6 | ||
|
f8db32acbd | ||
|
28576c9ac5 | ||
|
e978b24c87 | ||
|
23ae318200 | ||
|
b1a8810204 | ||
|
ccc888c39e | ||
|
3e1241d4f8 | ||
|
ae97520e37 | ||
|
5f2d60a715 | ||
|
d773f28ff2 | ||
|
39824945fa | ||
|
6938dccf1a | ||
|
c847e7d07b | ||
|
59eed7a201 | ||
|
3e876431d0 | ||
|
6b6ac9aca0 | ||
|
ae943f8e20 | ||
|
97e44cde17 | ||
|
97fc7ae69f | ||
|
5a4d5b694c | ||
|
148498d8cc | ||
|
0d62242082 | ||
|
1f7762f62b | ||
|
89950fbe24 | ||
|
59db91e2ee | ||
|
535084996b | ||
|
1d3bdc2090 | ||
|
10bd931949 | ||
|
533b6e8deb | ||
|
3eb85bf7d9 | ||
|
bc639f291b | ||
|
227fc5a308 | ||
|
cc2f2268f5 | ||
|
e1d4781cd4 | ||
|
cc770c8409 | ||
|
6906bf08cc | ||
|
668d871d95 | ||
|
adcde22952 | ||
|
81eed59a2c | ||
|
114ab07aee | ||
|
56cd5806e8 | ||
|
a9f6255431 | ||
|
2d2d890048 | ||
|
fbda223893 | ||
|
f595e72337 | ||
|
2c5aa02e20 | ||
|
7385681797 | ||
|
79a5a28390 | ||
|
9c2ef74a76 | ||
|
cde041cd13 | ||
|
644572a372 | ||
|
4f8baf7dce | ||
|
53c6c38412 | ||
|
604e9ec2c4 | ||
|
9e7778d7aa | ||
|
8a8a27b01a | ||
|
eaedc1bb3e | ||
|
6890b06982 | ||
|
252812bf15 | ||
|
c109ca9c49 | ||
|
6b39e8aeb0 | ||
|
78411881d3 | ||
|
0a70868131 | ||
|
886cffb44e | ||
|
cf061c24e0 | ||
|
d1631f734a | ||
|
f649870c9b | ||
|
a9086f2d17 | ||
|
1b333453e4 | ||
|
831764fa75 | ||
|
d6588a9372 | ||
|
7debc532d5 | ||
|
11034bfa97 | ||
|
a01b9eac04 | ||
|
c239f38709 | ||
|
2c7cf3f9c9 | ||
|
dffcbee8e7 | ||
|
a24d852630 | ||
|
264f4101cd | ||
|
c631501003 | ||
|
94d238e757 | ||
|
37d326503d | ||
|
aee9a6f4e1 | ||
|
d2271d8a39 | ||
|
083dae14bd | ||
|
0d65a68f51 | ||
|
8e9ceb8309 | ||
|
477d51537f | ||
|
7241f5140f | ||
|
ae8ed89f24 | ||
|
6ed607cce6 | ||
|
7bfa54c6a4 | ||
|
2178abfba3 | ||
|
78ddce9fda | ||
|
3fce8ad2de | ||
|
f07e87ffba | ||
|
b4bc208529 | ||
|
d880b64423 | ||
|
3447d545d9 | ||
|
61f7252448 | ||
|
cb51f02678 | ||
|
01eff0e6d2 |
@@ -110,6 +110,8 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'):
|
||||
'PTHREADS',
|
||||
'HAVE_POSIX_MEMALIGN',
|
||||
])
|
||||
if platform == 'darwin':
|
||||
env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE'])
|
||||
env.Append(CPPPATH = ['/usr/X11R6/include'])
|
||||
env.Append(LIBPATH = ['/usr/X11R6/lib'])
|
||||
env.Append(LIBS = [
|
||||
|
20
debian/changelog
vendored
20
debian/changelog
vendored
@@ -1,3 +1,23 @@
|
||||
mesa (7.7-3) experimental; urgency=low
|
||||
|
||||
* Pull from upstream mesa_7_7_branch up to commit f5145a6e.
|
||||
* Build against libdrm-radeon1 2.4.17 to get DRI2 support.
|
||||
|
||||
-- Brice Goglin <bgoglin@debian.org> Mon, 01 Feb 2010 22:55:36 +0100
|
||||
|
||||
mesa (7.7-2) experimental; urgency=low
|
||||
|
||||
[ Julien Cristau ]
|
||||
* Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
|
||||
good reason. Thanks, Colin Watson!
|
||||
* Remove myself from Uploaders
|
||||
|
||||
[ Brice Goglin ]
|
||||
* Pull from upstream mesa_7_7_branch up to commit 2f28ca0a.
|
||||
+ Fix funky colors on radeon/r200/r300.
|
||||
|
||||
-- Brice Goglin <bgoglin@debian.org> Wed, 27 Jan 2010 09:14:38 +0100
|
||||
|
||||
mesa (7.7-1) experimental; urgency=low
|
||||
|
||||
[ Brice Goglin ]
|
||||
|
2
debian/control
vendored
2
debian/control
vendored
@@ -2,7 +2,7 @@ Source: mesa
|
||||
Section: graphics
|
||||
Priority: optional
|
||||
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
||||
Uploaders: Thierry Reding <thierry@gilfi.de>, Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
|
||||
Uploaders: Thierry Reding <thierry@gilfi.de>, David Nusinow <dnusinow@debian.org>, Brice Goglin <bgoglin@debian.org>
|
||||
Standards-Version: 3.8.3
|
||||
Build-Depends: debhelper (>= 6.0.7), quilt (>= 0.40), pkg-config,
|
||||
libdrm-dev (>= 2.4.15) [!hurd-i386], libx11-dev, xutils-dev,
|
||||
|
4
debian/rules
vendored
4
debian/rules
vendored
@@ -22,7 +22,7 @@ DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
|
||||
DEB_BUILD_DIR ?= $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
|
||||
DEB_BUILD_DIR ?= $(CURDIR)/build
|
||||
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
|
||||
confflags += --build=$(DEB_HOST_GNU_TYPE)
|
||||
else
|
||||
@@ -207,7 +207,7 @@ clean: unpatch
|
||||
rm -f */config.cache */config.log */config.status
|
||||
rm -f conftest* */conftest*
|
||||
rm -rf autom4te.cache */autom4te.cache
|
||||
rm -rf obj-*
|
||||
rm -rf build
|
||||
rm -rf configure config.guess config.sub config.h.in
|
||||
rm -rf $$(find -name Makefile.in)
|
||||
rm -rf aclocal.m4 missing depcomp install-sh ltmain.sh
|
||||
|
@@ -51,5 +51,24 @@ See the <A HREF="xlibdriver.html">Xlib software driver page</A> for details.
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
These environment variables are for the Intel i945/i965 drivers:
|
||||
</p>
|
||||
<ul>
|
||||
<li>INTEL_STRICT_CONFORMANCE - if set to 1, enable sw fallbacks to improve
|
||||
OpenGL conformance. If set to 2, always use software rendering.
|
||||
<li>INTEL_NO_BLIT - if set, disable hardware-accelerated glBitmap,
|
||||
glCopyPixels, glDrawPixels.
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
These environment variables are for the Radeon R300 driver:
|
||||
</p>
|
||||
<ul>
|
||||
<li>R300_NO_TCL - if set, disable hardware-accelerated Transform/Clip/Lighting.
|
||||
</ul>
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
@@ -13,36 +13,41 @@
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-announce"
|
||||
target="_parent">mesa3d-announce</a> - announcements of new Mesa
|
||||
versions are sent to this list.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-users"
|
||||
target="_parent">mesa3d-users</a> - intended for users of the Mesa and DRI.
|
||||
Newbie questions are appropriate, but please try the general OpenGL
|
||||
target="_parent">mesa3d-users</a> - intended for end-users of Mesa and DRI
|
||||
drivers. Newbie questions are OK, but please try the general OpenGL
|
||||
resources and Mesa/DRI documentation first.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-dev"
|
||||
target="_parent">mesa3d-dev</a> - for discussion of Mesa and Direct Rendering
|
||||
Infrastructure development. Not for beginners.
|
||||
target="_parent">mesa3d-dev</a> - for Mesa, Gallium and DRI development
|
||||
discussion. Not for beginners.
|
||||
</li>
|
||||
<br>
|
||||
<li><a href="http://lists.freedesktop.org/mailman/listinfo/mesa-commit"
|
||||
target="_parent">mesa-commit</a> - relays git check-in messages
|
||||
(for developers).
|
||||
In general, people should not post to this list.
|
||||
</li>
|
||||
<br>
|
||||
Note: the old mesa3d-cvs list is no longer in use.
|
||||
<li><a href="https://lists.sourceforge.net/lists/listinfo/mesa3d-announce"
|
||||
target="_parent">mesa3d-announce</a> - announcements of new Mesa
|
||||
versions are sent to this list. Very low traffic.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Follow the links above for list archives.
|
||||
</p>
|
||||
|
||||
<p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
|
||||
kernels, see <a href="http://dri.freedesktop.org/wiki/MailingLists">wiki</a>.
|
||||
kernels, see the
|
||||
<a href="http://dri.freedesktop.org/wiki/MailingLists" target="_parent">
|
||||
DRI wiki</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Notice</b>: non-member posts to any of these lists will be automatically
|
||||
rejected.
|
||||
<b>Notice</b>: You must subscribe to these lists in order to post to them.
|
||||
</p>
|
||||
|
||||
|
||||
|
@@ -43,6 +43,7 @@ tbd
|
||||
<li>Allocate constants more tightly in GL_ARB_vertex/fragment parser.
|
||||
<li>Fixed mipmap generation bug caused by invalid viewport state.
|
||||
<li>Gallium SSE codegen for XPD didn't always work.
|
||||
<li>Fixed Windows build.
|
||||
</ul>
|
||||
|
||||
|
||||
|
@@ -124,13 +124,6 @@ reflect.o: reflect.c showbuffer.h
|
||||
$(APP_CC) -c -I$(INCDIR) $(CFLAGS) reflect.c
|
||||
|
||||
|
||||
shadowtex: shadowtex.o showbuffer.o
|
||||
$(APP_CC) $(CFLAGS) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@
|
||||
|
||||
shadowtex.o: shadowtex.c showbuffer.h
|
||||
$(APP_CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c
|
||||
|
||||
|
||||
gloss: gloss.o trackball.o readtex.o
|
||||
$(APP_CC) $(CFLAGS) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@
|
||||
|
||||
|
@@ -27,7 +27,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
|
@@ -137,7 +137,6 @@ So the angle is:
|
||||
#endif
|
||||
#include <GL/glut.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#define Scale 0.3
|
||||
|
||||
|
@@ -38,7 +38,6 @@
|
||||
#include <math.h>
|
||||
#include <GL/glew.h>
|
||||
#include <GL/glut.h>
|
||||
#include "showbuffer.h"
|
||||
|
||||
#define DEG_TO_RAD (3.14159 / 180.0)
|
||||
|
||||
|
@@ -29,7 +29,6 @@
|
||||
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@@ -45,7 +45,6 @@
|
||||
#include <GL/glut.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
GLboolean polySmooth = GL_TRUE;
|
||||
|
||||
|
@@ -20,7 +20,6 @@
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <X11/keysym.h>
|
||||
#include <unistd.h>
|
||||
#include "ipc.h"
|
||||
|
@@ -771,6 +771,7 @@ main(int argc, char *argv[])
|
||||
glDeleteLists(gear1, 1);
|
||||
glDeleteLists(gear2, 1);
|
||||
glDeleteLists(gear3, 1);
|
||||
glXMakeCurrent(dpy, None, NULL);
|
||||
glXDestroyContext(dpy, ctx);
|
||||
XDestroyWindow(dpy, win);
|
||||
XCloseDisplay(dpy);
|
||||
|
@@ -34,10 +34,7 @@
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_math.h"
|
||||
#include "draw_context.h"
|
||||
#include "draw_vbuf.h"
|
||||
#include "draw_vs.h"
|
||||
#include "draw_pt.h"
|
||||
#include "draw_pipe.h"
|
||||
|
||||
|
||||
struct draw_context *draw_create( void )
|
||||
|
@@ -106,10 +106,9 @@ void draw_pipeline_destroy( struct draw_context *draw )
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Build primitive to render a point with vertex at v0.
|
||||
*/
|
||||
static void do_point( struct draw_context *draw,
|
||||
const char *v0 )
|
||||
{
|
||||
@@ -123,6 +122,10 @@ static void do_point( struct draw_context *draw,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build primitive to render a line with vertices at v0, v1.
|
||||
* \param flags bitmask of DRAW_PIPE_EDGE_x, DRAW_PIPE_RESET_STIPPLE
|
||||
*/
|
||||
static void do_line( struct draw_context *draw,
|
||||
ushort flags,
|
||||
const char *v0,
|
||||
@@ -139,6 +142,10 @@ static void do_line( struct draw_context *draw,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build primitive to render a triangle with vertices at v0, v1, v2.
|
||||
* \param flags bitmask of DRAW_PIPE_EDGE_x, DRAW_PIPE_RESET_STIPPLE
|
||||
*/
|
||||
static void do_triangle( struct draw_context *draw,
|
||||
ushort flags,
|
||||
char *v0,
|
||||
@@ -157,7 +164,10 @@ static void do_triangle( struct draw_context *draw,
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Set up macros for draw_pt_decompose.h template code.
|
||||
* This code uses vertex indexes / elements.
|
||||
*/
|
||||
#define QUAD(i0,i1,i2,i3) \
|
||||
do_triangle( draw, \
|
||||
( DRAW_PIPE_RESET_STIPPLE | \
|
||||
@@ -175,16 +185,16 @@ static void do_triangle( struct draw_context *draw,
|
||||
|
||||
#define TRIANGLE(flags,i0,i1,i2) \
|
||||
do_triangle( draw, \
|
||||
elts[i0], /* flags */ \
|
||||
elts[i0], /* flags */ \
|
||||
verts + stride * (elts[i0] & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * elts[i1], \
|
||||
verts + stride * elts[i2])
|
||||
verts + stride * (elts[i1] & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (elts[i2] & ~DRAW_PIPE_FLAG_MASK) );
|
||||
|
||||
#define LINE(flags,i0,i1) \
|
||||
do_line( draw, \
|
||||
elts[i0], \
|
||||
elts[i0], \
|
||||
verts + stride * (elts[i0] & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * elts[i1])
|
||||
verts + stride * (elts[i1] & ~DRAW_PIPE_FLAG_MASK) );
|
||||
|
||||
#define POINT(i0) \
|
||||
do_point( draw, \
|
||||
@@ -213,7 +223,9 @@ static void do_triangle( struct draw_context *draw,
|
||||
|
||||
|
||||
|
||||
/* Code to run the pipeline on a fairly arbitary collection of vertices.
|
||||
/**
|
||||
* Code to run the pipeline on a fairly arbitary collection of vertices.
|
||||
* For drawing indexed primitives.
|
||||
*
|
||||
* Vertex headers must be pre-initialized with the
|
||||
* UNDEFINED_VERTEX_ID, this code will cause that id to become
|
||||
@@ -243,6 +255,12 @@ void draw_pipeline_run( struct draw_context *draw,
|
||||
draw->pipeline.vertex_count = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Set up macros for draw_pt_decompose.h template code.
|
||||
* This code is for non-indexed rendering (no elts).
|
||||
*/
|
||||
#define QUAD(i0,i1,i2,i3) \
|
||||
do_triangle( draw, \
|
||||
( DRAW_PIPE_RESET_STIPPLE | \
|
||||
@@ -293,6 +311,10 @@ void draw_pipeline_run( struct draw_context *draw,
|
||||
|
||||
#include "draw_pt_decompose.h"
|
||||
|
||||
|
||||
/*
|
||||
* For drawing non-indexed primitives.
|
||||
*/
|
||||
void draw_pipeline_run_linear( struct draw_context *draw,
|
||||
unsigned prim,
|
||||
struct vertex_header *vertices,
|
||||
|
@@ -33,7 +33,6 @@
|
||||
#include "draw/draw_context.h"
|
||||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_pt.h"
|
||||
#include "draw/draw_vs.h"
|
||||
#include "tgsi/tgsi_dump.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_prim.h"
|
||||
|
@@ -30,7 +30,6 @@
|
||||
#include "draw/draw_context.h"
|
||||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_vbuf.h"
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "draw/draw_pt.h"
|
||||
#include "translate/translate.h"
|
||||
#include "translate/translate_cache.h"
|
||||
|
@@ -40,7 +40,6 @@
|
||||
#include "draw/draw_pt.h"
|
||||
#include "draw/draw_vs.h"
|
||||
|
||||
#include "translate/translate.h"
|
||||
|
||||
struct fetch_shade_emit;
|
||||
|
||||
|
@@ -32,7 +32,6 @@
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "draw/draw_pt.h"
|
||||
#include "draw/draw_vs.h"
|
||||
#include "translate/translate.h"
|
||||
|
||||
|
||||
struct fetch_pipeline_middle_end {
|
||||
|
@@ -30,7 +30,6 @@
|
||||
#include "draw/draw_context.h"
|
||||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_vbuf.h"
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "draw/draw_pt.h"
|
||||
|
||||
struct pt_post_vs {
|
||||
|
@@ -38,7 +38,6 @@
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "draw/draw_vs.h"
|
||||
#include "translate/translate.h"
|
||||
#include "translate/translate_cache.h"
|
||||
|
||||
/* A first pass at incorporating vertex fetch/emit functionality into
|
||||
*/
|
||||
|
@@ -9,7 +9,6 @@ C_SOURCES = \
|
||||
pb_bufmgr_alt.c \
|
||||
pb_bufmgr_cache.c \
|
||||
pb_bufmgr_debug.c \
|
||||
pb_bufmgr_fenced.c \
|
||||
pb_bufmgr_mm.c \
|
||||
pb_bufmgr_ondemand.c \
|
||||
pb_bufmgr_pool.c \
|
||||
|
@@ -8,7 +8,6 @@ pipebuffer = env.ConvenienceLibrary(
|
||||
'pb_bufmgr_alt.c',
|
||||
'pb_bufmgr_cache.c',
|
||||
'pb_bufmgr_debug.c',
|
||||
'pb_bufmgr_fenced.c',
|
||||
'pb_bufmgr_mm.c',
|
||||
'pb_bufmgr_ondemand.c',
|
||||
'pb_bufmgr_pool.c',
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -98,43 +98,6 @@ struct pb_fence_ops
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Create a fenced buffer list.
|
||||
*
|
||||
* See also fenced_bufmgr_create for a more convenient way to use this.
|
||||
*/
|
||||
struct fenced_buffer_list *
|
||||
fenced_buffer_list_create(struct pb_fence_ops *ops);
|
||||
|
||||
|
||||
/**
|
||||
* Walk the fenced buffer list to check and free signalled buffers.
|
||||
*/
|
||||
void
|
||||
fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
|
||||
int wait);
|
||||
|
||||
|
||||
#ifdef DEBUG
|
||||
void
|
||||
fenced_buffer_list_dump(struct fenced_buffer_list *fenced_list);
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
fenced_buffer_list_destroy(struct fenced_buffer_list *fenced_list);
|
||||
|
||||
|
||||
/**
|
||||
* Wrap a buffer in a fenced buffer.
|
||||
*
|
||||
* NOTE: this will not increase the buffer reference count.
|
||||
*/
|
||||
struct pb_buffer *
|
||||
fenced_buffer_create(struct fenced_buffer_list *fenced,
|
||||
struct pb_buffer *buffer);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -175,7 +175,9 @@ struct pb_fence_ops;
|
||||
*/
|
||||
struct pb_manager *
|
||||
fenced_bufmgr_create(struct pb_manager *provider,
|
||||
struct pb_fence_ops *ops);
|
||||
struct pb_fence_ops *ops,
|
||||
pb_size max_buffer_size,
|
||||
pb_size max_cpu_total_size);
|
||||
|
||||
|
||||
struct pb_manager *
|
||||
|
@@ -371,6 +371,9 @@ pb_debug_manager_create_buffer(struct pb_manager *_mgr,
|
||||
struct pb_desc real_desc;
|
||||
pb_size real_size;
|
||||
|
||||
assert(size);
|
||||
assert(desc->alignment);
|
||||
|
||||
buf = CALLOC_STRUCT(pb_debug_buffer);
|
||||
if(!buf)
|
||||
return NULL;
|
||||
|
@@ -1,152 +0,0 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
* USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* A buffer manager that wraps buffers in fenced buffers.
|
||||
*
|
||||
* \author Jose Fonseca <jrfonseca@tungstengraphics.dot.com>
|
||||
*/
|
||||
|
||||
|
||||
#include "util/u_debug.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "pb_buffer.h"
|
||||
#include "pb_buffer_fenced.h"
|
||||
#include "pb_bufmgr.h"
|
||||
|
||||
|
||||
struct fenced_pb_manager
|
||||
{
|
||||
struct pb_manager base;
|
||||
|
||||
struct pb_manager *provider;
|
||||
|
||||
struct fenced_buffer_list *fenced_list;
|
||||
};
|
||||
|
||||
|
||||
static INLINE struct fenced_pb_manager *
|
||||
fenced_pb_manager(struct pb_manager *mgr)
|
||||
{
|
||||
assert(mgr);
|
||||
return (struct fenced_pb_manager *)mgr;
|
||||
}
|
||||
|
||||
|
||||
static struct pb_buffer *
|
||||
fenced_bufmgr_create_buffer(struct pb_manager *mgr,
|
||||
pb_size size,
|
||||
const struct pb_desc *desc)
|
||||
{
|
||||
struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
|
||||
struct pb_buffer *buf;
|
||||
struct pb_buffer *fenced_buf;
|
||||
|
||||
/* check for free buffers before allocating new ones */
|
||||
fenced_buffer_list_check_free(fenced_mgr->fenced_list, 0);
|
||||
|
||||
buf = fenced_mgr->provider->create_buffer(fenced_mgr->provider, size, desc);
|
||||
if(!buf) {
|
||||
/* try harder to get a buffer */
|
||||
fenced_buffer_list_check_free(fenced_mgr->fenced_list, 1);
|
||||
|
||||
buf = fenced_mgr->provider->create_buffer(fenced_mgr->provider, size, desc);
|
||||
if(!buf) {
|
||||
#if 0
|
||||
fenced_buffer_list_dump(fenced_mgr->fenced_list);
|
||||
#endif
|
||||
|
||||
/* give up */
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
fenced_buf = fenced_buffer_create(fenced_mgr->fenced_list, buf);
|
||||
if(!fenced_buf) {
|
||||
pb_reference(&buf, NULL);
|
||||
}
|
||||
|
||||
return fenced_buf;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
fenced_bufmgr_flush(struct pb_manager *mgr)
|
||||
{
|
||||
struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
|
||||
|
||||
fenced_buffer_list_check_free(fenced_mgr->fenced_list, TRUE);
|
||||
|
||||
assert(fenced_mgr->provider->flush);
|
||||
if(fenced_mgr->provider->flush)
|
||||
fenced_mgr->provider->flush(fenced_mgr->provider);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
fenced_bufmgr_destroy(struct pb_manager *mgr)
|
||||
{
|
||||
struct fenced_pb_manager *fenced_mgr = fenced_pb_manager(mgr);
|
||||
|
||||
fenced_buffer_list_destroy(fenced_mgr->fenced_list);
|
||||
|
||||
if(fenced_mgr->provider)
|
||||
fenced_mgr->provider->destroy(fenced_mgr->provider);
|
||||
|
||||
FREE(fenced_mgr);
|
||||
}
|
||||
|
||||
|
||||
struct pb_manager *
|
||||
fenced_bufmgr_create(struct pb_manager *provider,
|
||||
struct pb_fence_ops *ops)
|
||||
{
|
||||
struct fenced_pb_manager *fenced_mgr;
|
||||
|
||||
if(!provider)
|
||||
return NULL;
|
||||
|
||||
fenced_mgr = CALLOC_STRUCT(fenced_pb_manager);
|
||||
if (!fenced_mgr)
|
||||
return NULL;
|
||||
|
||||
fenced_mgr->base.destroy = fenced_bufmgr_destroy;
|
||||
fenced_mgr->base.create_buffer = fenced_bufmgr_create_buffer;
|
||||
fenced_mgr->base.flush = fenced_bufmgr_flush;
|
||||
|
||||
fenced_mgr->provider = provider;
|
||||
fenced_mgr->fenced_list = fenced_buffer_list_create(ops);
|
||||
if(!fenced_mgr->fenced_list) {
|
||||
FREE(fenced_mgr);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return &fenced_mgr->base;
|
||||
}
|
@@ -39,7 +39,6 @@
|
||||
#include "util/u_debug.h"
|
||||
|
||||
#include "pb_buffer.h"
|
||||
#include "pb_buffer_fenced.h"
|
||||
#include "pb_validate.h"
|
||||
|
||||
|
||||
|
@@ -101,12 +101,10 @@ tgsi_scan_shader(const struct tgsi_token *tokens,
|
||||
if (src->SrcRegister.File == TGSI_FILE_INPUT) {
|
||||
const int ind = src->SrcRegister.Index;
|
||||
if (info->input_semantic_name[ind] == TGSI_SEMANTIC_FOG) {
|
||||
if (src->SrcRegister.SwizzleX == TGSI_SWIZZLE_X) {
|
||||
info->uses_fogcoord = TRUE;
|
||||
}
|
||||
else if (src->SrcRegister.SwizzleX == TGSI_SWIZZLE_Y) {
|
||||
info->uses_frontfacing = TRUE;
|
||||
}
|
||||
info->uses_fogcoord = TRUE;
|
||||
}
|
||||
else if (info->input_semantic_name[ind] == TGSI_SEMANTIC_FACE) {
|
||||
info->uses_frontfacing = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -224,8 +224,8 @@ setup_vertex_data_tex(struct blit_state *ctx,
|
||||
|
||||
offset = get_next_slot( ctx );
|
||||
|
||||
pipe_buffer_write(ctx->pipe->screen, ctx->vbuf,
|
||||
offset, sizeof(ctx->vertices), ctx->vertices);
|
||||
pipe_buffer_write_nooverlap(ctx->pipe->screen, ctx->vbuf,
|
||||
offset, sizeof(ctx->vertices), ctx->vertices);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@@ -1457,8 +1457,8 @@ set_vertex_data(struct gen_mipmap_state *ctx,
|
||||
|
||||
offset = get_next_slot( ctx );
|
||||
|
||||
pipe_buffer_write(ctx->pipe->screen, ctx->vbuf,
|
||||
offset, sizeof(ctx->vertices), ctx->vertices);
|
||||
pipe_buffer_write_nooverlap(ctx->pipe->screen, ctx->vbuf,
|
||||
offset, sizeof(ctx->vertices), ctx->vertices);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
@@ -341,7 +341,7 @@ a4r4g4b4_put_tile_rgba(ushort *dst,
|
||||
g >>= 4;
|
||||
b >>= 4;
|
||||
a >>= 4;
|
||||
*dst++ = (a << 12) | (r << 16) | (g << 4) | b;
|
||||
*dst++ = (a << 12) | (r << 8) | (g << 4) | b;
|
||||
}
|
||||
p += src_stride;
|
||||
}
|
||||
|
@@ -85,7 +85,9 @@ my_buffer_write(struct pipe_screen *screen,
|
||||
|
||||
map = pipe_buffer_map_range(screen, buf, offset, size,
|
||||
PIPE_BUFFER_USAGE_CPU_WRITE |
|
||||
PIPE_BUFFER_USAGE_FLUSH_EXPLICIT);
|
||||
PIPE_BUFFER_USAGE_FLUSH_EXPLICIT |
|
||||
PIPE_BUFFER_USAGE_DISCARD |
|
||||
PIPE_BUFFER_USAGE_UNSYNCHRONIZED);
|
||||
if (map == NULL)
|
||||
return PIPE_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
|
@@ -32,7 +32,6 @@
|
||||
|
||||
#include "util/u_clear.h"
|
||||
#include "i915_context.h"
|
||||
#include "i915_state.h"
|
||||
|
||||
|
||||
/**
|
||||
|
@@ -29,12 +29,9 @@
|
||||
#include "i915_state.h"
|
||||
#include "i915_screen.h"
|
||||
#include "i915_batch.h"
|
||||
#include "i915_texture.h"
|
||||
#include "i915_reg.h"
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "pipe/p_screen.h"
|
||||
|
@@ -29,7 +29,6 @@
|
||||
#include "i915_context.h"
|
||||
#include "i915_debug.h"
|
||||
#include "i915_batch.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "util/u_debug.h"
|
||||
|
||||
|
||||
|
@@ -29,7 +29,6 @@
|
||||
#include "i915_reg.h"
|
||||
#include "i915_debug.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
|
||||
static void
|
||||
|
@@ -30,7 +30,6 @@
|
||||
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
@@ -38,7 +37,6 @@
|
||||
|
||||
#include "i915_context.h"
|
||||
#include "i915_reg.h"
|
||||
#include "i915_state.h"
|
||||
#include "i915_state_inlines.h"
|
||||
#include "i915_fpc.h"
|
||||
|
||||
|
@@ -33,7 +33,6 @@
|
||||
#include "i915_context.h"
|
||||
#include "i915_state.h"
|
||||
#include "i915_reg.h"
|
||||
#include "i915_fpc.h"
|
||||
|
||||
|
||||
|
||||
|
@@ -27,7 +27,6 @@
|
||||
|
||||
#include "pipe/p_context.h"
|
||||
#include "pipe/p_state.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "i915_state_inlines.h"
|
||||
#include "i915_context.h"
|
||||
|
@@ -27,13 +27,7 @@
|
||||
|
||||
#include "i915_context.h"
|
||||
#include "i915_blit.h"
|
||||
#include "i915_state.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "util/u_tile.h"
|
||||
#include "util/u_rect.h"
|
||||
|
||||
|
||||
/* Assumes all values are within bounds -- no checking at this level -
|
||||
|
@@ -34,13 +34,11 @@
|
||||
#include "pipe/p_context.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "i915_context.h"
|
||||
#include "i915_texture.h"
|
||||
#include "i915_debug.h"
|
||||
#include "i915_screen.h"
|
||||
#include "intel_winsys.h"
|
||||
|
||||
|
@@ -35,7 +35,6 @@
|
||||
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_const.h"
|
||||
#include "lp_bld_arit.h"
|
||||
#include "lp_bld_logic.h"
|
||||
#include "lp_bld_flow.h"
|
||||
#include "lp_bld_debug.h"
|
||||
|
@@ -56,7 +56,6 @@
|
||||
#include "lp_bld_intr.h"
|
||||
#include "lp_bld_logic.h"
|
||||
#include "lp_bld_pack.h"
|
||||
#include "lp_bld_debug.h"
|
||||
#include "lp_bld_arit.h"
|
||||
|
||||
|
||||
@@ -629,7 +628,8 @@ lp_build_abs(struct lp_build_context *bld,
|
||||
if(type.floating) {
|
||||
/* Mask out the sign bit */
|
||||
LLVMTypeRef int_vec_type = lp_build_int_vec_type(type);
|
||||
LLVMValueRef mask = lp_build_int_const_scalar(type, ((unsigned long long)1 << type.width) - 1);
|
||||
unsigned long absMask = ~(1 << (type.width - 1));
|
||||
LLVMValueRef mask = lp_build_int_const_scalar(type, ((unsigned long long) absMask));
|
||||
a = LLVMBuildBitCast(bld->builder, a, int_vec_type, "");
|
||||
a = LLVMBuildAnd(bld->builder, a, mask, "");
|
||||
a = LLVMBuildBitCast(bld->builder, a, vec_type, "");
|
||||
@@ -1083,7 +1083,7 @@ lp_build_log(struct lp_build_context *bld,
|
||||
LLVMValueRef x)
|
||||
{
|
||||
/* log(2) */
|
||||
LLVMValueRef log2 = lp_build_const_scalar(bld->type, 1.4426950408889634);
|
||||
LLVMValueRef log2 = lp_build_const_scalar(bld->type, 0.69314718055994529);
|
||||
|
||||
return lp_build_mul(bld, log2, lp_build_exp2(bld, x));
|
||||
}
|
||||
@@ -1095,7 +1095,7 @@ lp_build_log(struct lp_build_context *bld,
|
||||
|
||||
/**
|
||||
* Generate polynomial.
|
||||
* Ex: x^2 * coeffs[0] + x * coeffs[1] + coeffs[2].
|
||||
* Ex: coeffs[0] + x * coeffs[1] + x^2 * coeffs[2].
|
||||
*/
|
||||
static LLVMValueRef
|
||||
lp_build_polynomial(struct lp_build_context *bld,
|
||||
@@ -1285,13 +1285,13 @@ lp_build_log2_approx(struct lp_build_context *bld,
|
||||
/* mant = (float) mantissa(x) */
|
||||
mant = LLVMBuildAnd(bld->builder, i, mantmask, "");
|
||||
mant = LLVMBuildOr(bld->builder, mant, one, "");
|
||||
mant = LLVMBuildSIToFP(bld->builder, mant, vec_type, "");
|
||||
mant = LLVMBuildBitCast(bld->builder, mant, vec_type, "");
|
||||
|
||||
logmant = lp_build_polynomial(bld, mant, lp_build_log2_polynomial,
|
||||
Elements(lp_build_log2_polynomial));
|
||||
|
||||
/* This effectively increases the polynomial degree by one, but ensures that log2(1) == 0*/
|
||||
logmant = LLVMBuildMul(bld->builder, logmant, LLVMBuildMul(bld->builder, mant, bld->one, ""), "");
|
||||
logmant = LLVMBuildMul(bld->builder, logmant, LLVMBuildSub(bld->builder, mant, bld->one, ""), "");
|
||||
|
||||
res = LLVMBuildAdd(bld->builder, logmant, logexp, "");
|
||||
}
|
||||
|
@@ -71,7 +71,6 @@
|
||||
#include "pipe/p_state.h"
|
||||
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_const.h"
|
||||
#include "lp_bld_arit.h"
|
||||
#include "lp_bld_blend.h"
|
||||
|
||||
|
@@ -63,11 +63,9 @@
|
||||
|
||||
#include "util/u_debug.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_cpu_detect.h"
|
||||
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_const.h"
|
||||
#include "lp_bld_intr.h"
|
||||
#include "lp_bld_arit.h"
|
||||
#include "lp_bld_pack.h"
|
||||
#include "lp_bld_conv.h"
|
||||
|
@@ -38,7 +38,6 @@
|
||||
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_const.h"
|
||||
#include "lp_bld_logic.h"
|
||||
#include "lp_bld_swizzle.h"
|
||||
#include "lp_bld_format.h"
|
||||
|
||||
|
@@ -47,13 +47,11 @@
|
||||
#include "tgsi/tgsi_exec.h"
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_const.h"
|
||||
#include "lp_bld_intr.h"
|
||||
#include "lp_bld_arit.h"
|
||||
#include "lp_bld_logic.h"
|
||||
#include "lp_bld_swizzle.h"
|
||||
#include "lp_bld_flow.h"
|
||||
#include "lp_bld_tgsi.h"
|
||||
#include "lp_bld_debug.h"
|
||||
|
||||
|
||||
#define LP_MAX_TEMPS 256
|
||||
@@ -768,7 +766,7 @@ emit_instruction(
|
||||
FOR_EACH_DST0_ENABLED_CHANNEL( inst, chan_index ) {
|
||||
src0 = emit_fetch( bld, inst, 0, chan_index );
|
||||
tmp0 = lp_build_floor(&bld->base, src0);
|
||||
tmp0 = lp_build_sub(&bld->base, tmp0, src0);
|
||||
tmp0 = lp_build_sub(&bld->base, src0, tmp0);
|
||||
dst0[chan_index] = tmp0;
|
||||
}
|
||||
break;
|
||||
|
71
src/gallium/drivers/llvmpipe/lp_debug.h
Normal file
71
src/gallium/drivers/llvmpipe/lp_debug.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sub license, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial portions
|
||||
* of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
||||
* IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
#ifndef LP_DEBUG_H
|
||||
#define LP_DEBUG_H
|
||||
|
||||
#include "pipe/p_compiler.h"
|
||||
#include "util/u_debug.h"
|
||||
|
||||
extern void
|
||||
st_print_current(void);
|
||||
|
||||
|
||||
#define DEBUG_PIPE 0x1
|
||||
#define DEBUG_TGSI 0x2
|
||||
#define DEBUG_TEX 0x4
|
||||
#define DEBUG_ASM 0x8
|
||||
#define DEBUG_SETUP 0x10
|
||||
#define DEBUG_RAST 0x20
|
||||
#define DEBUG_QUERY 0x40
|
||||
#define DEBUG_SCREEN 0x80
|
||||
#define DEBUG_JIT 0x100
|
||||
|
||||
#ifdef DEBUG
|
||||
extern int LP_DEBUG;
|
||||
#else
|
||||
#define LP_DEBUG 0
|
||||
#endif
|
||||
|
||||
void st_debug_init( void );
|
||||
|
||||
static INLINE void
|
||||
LP_DBG( unsigned flag, const char *fmt, ... )
|
||||
{
|
||||
if (LP_DEBUG & flag)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
va_start( args, fmt );
|
||||
debug_vprintf( fmt, args );
|
||||
va_end( args );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif /* LP_DEBUG_H */
|
@@ -33,8 +33,6 @@
|
||||
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_context.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "util/u_prim.h"
|
||||
|
||||
#include "lp_buffer.h"
|
||||
@@ -103,7 +101,7 @@ llvmpipe_draw_range_elements(struct pipe_context *pipe,
|
||||
draw_arrays(draw, mode, start, count);
|
||||
|
||||
/*
|
||||
* unmap vertex/index buffers - will cause draw module to flush
|
||||
* unmap vertex/index buffers
|
||||
*/
|
||||
for (i = 0; i < lp->num_vertex_buffers; i++) {
|
||||
draw_set_mapped_vertex_buffer(draw, i, NULL);
|
||||
@@ -112,6 +110,12 @@ llvmpipe_draw_range_elements(struct pipe_context *pipe,
|
||||
draw_set_mapped_element_buffer(draw, 0, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO: Flush only when a user vertex/index buffer is present
|
||||
* (or even better, modify draw module to do this
|
||||
* internally when this condition is seen?)
|
||||
*/
|
||||
draw_flush(draw);
|
||||
|
||||
/* Note: leave drawing surfaces mapped */
|
||||
|
||||
|
@@ -37,8 +37,6 @@
|
||||
#include "lp_surface.h"
|
||||
#include "lp_state.h"
|
||||
#include "lp_tile_cache.h"
|
||||
#include "lp_tex_cache.h"
|
||||
#include "lp_winsys.h"
|
||||
|
||||
|
||||
void
|
||||
|
@@ -39,7 +39,6 @@
|
||||
#include "util/u_cpu_detect.h"
|
||||
#include "lp_screen.h"
|
||||
#include "lp_bld_intr.h"
|
||||
#include "lp_bld_misc.h"
|
||||
#include "lp_jit.h"
|
||||
|
||||
|
||||
@@ -167,7 +166,7 @@ lp_jit_screen_init(struct llvmpipe_screen *screen)
|
||||
if (LLVMCreateJITCompiler(&screen->engine, screen->provider, 1, &error)) {
|
||||
_debug_printf("%s\n", error);
|
||||
LLVMDisposeMessage(error);
|
||||
abort();
|
||||
assert(0);
|
||||
}
|
||||
|
||||
screen->target = LLVMGetExecutionEngineTargetData(screen->engine);
|
||||
|
@@ -27,6 +27,7 @@
|
||||
|
||||
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_format.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_screen.h"
|
||||
|
||||
@@ -35,6 +36,24 @@
|
||||
#include "lp_winsys.h"
|
||||
#include "lp_jit.h"
|
||||
#include "lp_screen.h"
|
||||
#include "lp_debug.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
int LP_DEBUG = 0;
|
||||
|
||||
static const struct debug_named_value lp_debug_flags[] = {
|
||||
{ "pipe", DEBUG_PIPE },
|
||||
{ "tgsi", DEBUG_TGSI },
|
||||
{ "tex", DEBUG_TEX },
|
||||
{ "asm", DEBUG_ASM },
|
||||
{ "setup", DEBUG_SETUP },
|
||||
{ "rast", DEBUG_RAST },
|
||||
{ "query", DEBUG_QUERY },
|
||||
{ "screen", DEBUG_SCREEN },
|
||||
{ "jit", DEBUG_JIT },
|
||||
{NULL, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static const char *
|
||||
@@ -131,17 +150,17 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
|
||||
{
|
||||
struct llvmpipe_screen *screen = llvmpipe_screen(_screen);
|
||||
struct llvmpipe_winsys *winsys = screen->winsys;
|
||||
const struct util_format_description *format_desc;
|
||||
|
||||
format_desc = util_format_description(format);
|
||||
if(!format_desc)
|
||||
return FALSE;
|
||||
|
||||
assert(target == PIPE_TEXTURE_1D ||
|
||||
target == PIPE_TEXTURE_2D ||
|
||||
target == PIPE_TEXTURE_3D ||
|
||||
target == PIPE_TEXTURE_CUBE);
|
||||
|
||||
if(format == PIPE_FORMAT_Z16_UNORM)
|
||||
return FALSE;
|
||||
if(format == PIPE_FORMAT_S8_UNORM)
|
||||
return FALSE;
|
||||
|
||||
switch(format) {
|
||||
case PIPE_FORMAT_DXT1_RGB:
|
||||
case PIPE_FORMAT_DXT1_RGBA:
|
||||
@@ -152,8 +171,51 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
|
||||
break;
|
||||
}
|
||||
|
||||
if(tex_usage & PIPE_TEXTURE_USAGE_DISPLAY_TARGET)
|
||||
return winsys->is_displaytarget_format_supported(winsys, format);
|
||||
if(tex_usage & PIPE_TEXTURE_USAGE_RENDER_TARGET) {
|
||||
if(format_desc->block.width != 1 ||
|
||||
format_desc->block.height != 1)
|
||||
return FALSE;
|
||||
|
||||
if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
|
||||
format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
|
||||
format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
|
||||
return FALSE;
|
||||
|
||||
if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_RGB &&
|
||||
format_desc->colorspace != UTIL_FORMAT_COLORSPACE_SRGB)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(tex_usage & PIPE_TEXTURE_USAGE_DISPLAY_TARGET) {
|
||||
if(!winsys->is_displaytarget_format_supported(winsys, format))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(tex_usage & PIPE_TEXTURE_USAGE_DEPTH_STENCIL) {
|
||||
if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS)
|
||||
return FALSE;
|
||||
|
||||
/* FIXME: Temporary restriction. See lp_state_fs.c. */
|
||||
if(format_desc->block.bits != 32)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* FIXME: Temporary restrictions. See lp_bld_sample_soa.c */
|
||||
if(tex_usage & PIPE_TEXTURE_USAGE_SAMPLER) {
|
||||
if(format_desc->block.width != 1 ||
|
||||
format_desc->block.height != 1)
|
||||
return FALSE;
|
||||
|
||||
if(format_desc->layout != UTIL_FORMAT_LAYOUT_SCALAR &&
|
||||
format_desc->layout != UTIL_FORMAT_LAYOUT_ARITH &&
|
||||
format_desc->layout != UTIL_FORMAT_LAYOUT_ARRAY)
|
||||
return FALSE;
|
||||
|
||||
if(format_desc->colorspace != UTIL_FORMAT_COLORSPACE_RGB &&
|
||||
format_desc->colorspace != UTIL_FORMAT_COLORSPACE_SRGB &&
|
||||
format_desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -213,6 +275,10 @@ llvmpipe_create_screen(struct llvmpipe_winsys *winsys)
|
||||
{
|
||||
struct llvmpipe_screen *screen = CALLOC_STRUCT(llvmpipe_screen);
|
||||
|
||||
#ifdef DEBUG
|
||||
LP_DEBUG = debug_get_flags_option("LP_DEBUG", lp_debug_flags, 0 );
|
||||
#endif
|
||||
|
||||
if (!screen)
|
||||
return NULL;
|
||||
|
||||
|
@@ -40,7 +40,6 @@
|
||||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "pipe/p_shader_tokens.h"
|
||||
#include "pipe/p_thread.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "lp_bld_debug.h"
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_debug_dump.h"
|
||||
#include "draw/draw_context.h"
|
||||
#include "lp_screen.h"
|
||||
#include "lp_context.h"
|
||||
#include "lp_state.h"
|
||||
@@ -51,6 +52,11 @@ void llvmpipe_bind_blend_state( struct pipe_context *pipe,
|
||||
{
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
|
||||
if (llvmpipe->blend == blend)
|
||||
return;
|
||||
|
||||
draw_flush(llvmpipe->draw);
|
||||
|
||||
llvmpipe->blend = blend;
|
||||
|
||||
llvmpipe->dirty |= LP_NEW_BLEND;
|
||||
@@ -69,6 +75,11 @@ void llvmpipe_set_blend_color( struct pipe_context *pipe,
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
unsigned i, j;
|
||||
|
||||
if(memcmp(&llvmpipe->blend_color, blend_color, sizeof *blend_color) == 0)
|
||||
return;
|
||||
|
||||
draw_flush(llvmpipe->draw);
|
||||
|
||||
memcpy(&llvmpipe->blend_color, blend_color, sizeof *blend_color);
|
||||
|
||||
if(!llvmpipe->jit_context.blend_color)
|
||||
@@ -99,7 +110,12 @@ llvmpipe_bind_depth_stencil_state(struct pipe_context *pipe,
|
||||
{
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
|
||||
llvmpipe->depth_stencil = (const struct pipe_depth_stencil_alpha_state *)depth_stencil;
|
||||
if (llvmpipe->depth_stencil == depth_stencil)
|
||||
return;
|
||||
|
||||
draw_flush(llvmpipe->draw);
|
||||
|
||||
llvmpipe->depth_stencil = depth_stencil;
|
||||
|
||||
if(llvmpipe->depth_stencil)
|
||||
llvmpipe->jit_context.alpha_ref_value = llvmpipe->depth_stencil->alpha.ref_value;
|
||||
|
@@ -62,7 +62,6 @@
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_debug_dump.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "pipe/p_shader_tokens.h"
|
||||
#include "draw/draw_context.h"
|
||||
#include "tgsi/tgsi_dump.h"
|
||||
@@ -85,8 +84,8 @@
|
||||
#include "lp_context.h"
|
||||
#include "lp_buffer.h"
|
||||
#include "lp_state.h"
|
||||
#include "lp_quad.h"
|
||||
#include "lp_tex_sample.h"
|
||||
#include "lp_debug.h"
|
||||
|
||||
|
||||
static const unsigned char quad_offset_x[4] = {0, 1, 0, 1};
|
||||
@@ -148,6 +147,20 @@ generate_depth(LLVMBuilderRef builder,
|
||||
format_desc = util_format_description(key->zsbuf_format);
|
||||
assert(format_desc);
|
||||
|
||||
/*
|
||||
* Depths are expected to be between 0 and 1, even if they are stored in
|
||||
* floats. Setting these bits here will ensure that the lp_build_conv() call
|
||||
* below won't try to unnecessarily clamp the incoming values.
|
||||
*/
|
||||
if(src_type.floating) {
|
||||
src_type.sign = FALSE;
|
||||
src_type.norm = TRUE;
|
||||
}
|
||||
else {
|
||||
assert(!src_type.sign);
|
||||
assert(src_type.norm);
|
||||
}
|
||||
|
||||
/* Pick the depth type. */
|
||||
dst_type = lp_depth_type(format_desc, src_type.width*src_type.length);
|
||||
|
||||
@@ -155,14 +168,11 @@ generate_depth(LLVMBuilderRef builder,
|
||||
assert(dst_type.width == src_type.width);
|
||||
assert(dst_type.length == src_type.length);
|
||||
|
||||
#if 1
|
||||
src = lp_build_clamped_float_to_unsigned_norm(builder,
|
||||
src_type,
|
||||
dst_type.width,
|
||||
src);
|
||||
#else
|
||||
lp_build_conv(builder, src_type, dst_type, &src, 1, &src, 1);
|
||||
#endif
|
||||
|
||||
dst_ptr = LLVMBuildBitCast(builder,
|
||||
dst_ptr,
|
||||
LLVMPointerType(lp_build_vec_type(dst_type), 0), "");
|
||||
|
||||
lp_build_depth_test(builder,
|
||||
&key->depth,
|
||||
@@ -397,59 +407,58 @@ generate_fragment(struct llvmpipe_context *lp,
|
||||
unsigned i;
|
||||
unsigned chan;
|
||||
|
||||
#ifdef DEBUG
|
||||
tgsi_dump(shader->base.tokens, 0);
|
||||
if(key->depth.enabled) {
|
||||
debug_printf("depth.format = %s\n", pf_name(key->zsbuf_format));
|
||||
debug_printf("depth.func = %s\n", debug_dump_func(key->depth.func, TRUE));
|
||||
debug_printf("depth.writemask = %u\n", key->depth.writemask);
|
||||
}
|
||||
if(key->alpha.enabled) {
|
||||
debug_printf("alpha.func = %s\n", debug_dump_func(key->alpha.func, TRUE));
|
||||
debug_printf("alpha.ref_value = %f\n", key->alpha.ref_value);
|
||||
}
|
||||
if(key->blend.logicop_enable) {
|
||||
debug_printf("blend.logicop_func = %u\n", key->blend.logicop_func);
|
||||
}
|
||||
else if(key->blend.blend_enable) {
|
||||
debug_printf("blend.rgb_func = %s\n", debug_dump_blend_func (key->blend.rgb_func, TRUE));
|
||||
debug_printf("rgb_src_factor = %s\n", debug_dump_blend_factor(key->blend.rgb_src_factor, TRUE));
|
||||
debug_printf("rgb_dst_factor = %s\n", debug_dump_blend_factor(key->blend.rgb_dst_factor, TRUE));
|
||||
debug_printf("alpha_func = %s\n", debug_dump_blend_func (key->blend.alpha_func, TRUE));
|
||||
debug_printf("alpha_src_factor = %s\n", debug_dump_blend_factor(key->blend.alpha_src_factor, TRUE));
|
||||
debug_printf("alpha_dst_factor = %s\n", debug_dump_blend_factor(key->blend.alpha_dst_factor, TRUE));
|
||||
}
|
||||
debug_printf("blend.colormask = 0x%x\n", key->blend.colormask);
|
||||
for(i = 0; i < PIPE_MAX_SAMPLERS; ++i) {
|
||||
if(key->sampler[i].format) {
|
||||
debug_printf("sampler[%u] = \n", i);
|
||||
debug_printf(" .format = %s\n",
|
||||
pf_name(key->sampler[i].format));
|
||||
debug_printf(" .target = %s\n",
|
||||
debug_dump_tex_target(key->sampler[i].target, TRUE));
|
||||
debug_printf(" .pot = %u %u %u\n",
|
||||
key->sampler[i].pot_width,
|
||||
key->sampler[i].pot_height,
|
||||
key->sampler[i].pot_depth);
|
||||
debug_printf(" .wrap = %s %s %s\n",
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_s, TRUE),
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_t, TRUE),
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_r, TRUE));
|
||||
debug_printf(" .min_img_filter = %s\n",
|
||||
debug_dump_tex_filter(key->sampler[i].min_img_filter, TRUE));
|
||||
debug_printf(" .min_mip_filter = %s\n",
|
||||
debug_dump_tex_mipfilter(key->sampler[i].min_mip_filter, TRUE));
|
||||
debug_printf(" .mag_img_filter = %s\n",
|
||||
debug_dump_tex_filter(key->sampler[i].mag_img_filter, TRUE));
|
||||
if(key->sampler[i].compare_mode)
|
||||
debug_printf(" .compare_mode = %s\n", debug_dump_func(key->sampler[i].compare_func, TRUE));
|
||||
debug_printf(" .normalized_coords = %u\n", key->sampler[i].normalized_coords);
|
||||
debug_printf(" .prefilter = %u\n", key->sampler[i].prefilter);
|
||||
if (LP_DEBUG & DEBUG_JIT) {
|
||||
tgsi_dump(shader->base.tokens, 0);
|
||||
if(key->depth.enabled) {
|
||||
debug_printf("depth.format = %s\n", pf_name(key->zsbuf_format));
|
||||
debug_printf("depth.func = %s\n", debug_dump_func(key->depth.func, TRUE));
|
||||
debug_printf("depth.writemask = %u\n", key->depth.writemask);
|
||||
}
|
||||
if(key->alpha.enabled) {
|
||||
debug_printf("alpha.func = %s\n", debug_dump_func(key->alpha.func, TRUE));
|
||||
debug_printf("alpha.ref_value = %f\n", key->alpha.ref_value);
|
||||
}
|
||||
if(key->blend.logicop_enable) {
|
||||
debug_printf("blend.logicop_func = %u\n", key->blend.logicop_func);
|
||||
}
|
||||
else if(key->blend.blend_enable) {
|
||||
debug_printf("blend.rgb_func = %s\n", debug_dump_blend_func (key->blend.rgb_func, TRUE));
|
||||
debug_printf("rgb_src_factor = %s\n", debug_dump_blend_factor(key->blend.rgb_src_factor, TRUE));
|
||||
debug_printf("rgb_dst_factor = %s\n", debug_dump_blend_factor(key->blend.rgb_dst_factor, TRUE));
|
||||
debug_printf("alpha_func = %s\n", debug_dump_blend_func (key->blend.alpha_func, TRUE));
|
||||
debug_printf("alpha_src_factor = %s\n", debug_dump_blend_factor(key->blend.alpha_src_factor, TRUE));
|
||||
debug_printf("alpha_dst_factor = %s\n", debug_dump_blend_factor(key->blend.alpha_dst_factor, TRUE));
|
||||
}
|
||||
debug_printf("blend.colormask = 0x%x\n", key->blend.colormask);
|
||||
for(i = 0; i < PIPE_MAX_SAMPLERS; ++i) {
|
||||
if(key->sampler[i].format) {
|
||||
debug_printf("sampler[%u] = \n", i);
|
||||
debug_printf(" .format = %s\n",
|
||||
pf_name(key->sampler[i].format));
|
||||
debug_printf(" .target = %s\n",
|
||||
debug_dump_tex_target(key->sampler[i].target, TRUE));
|
||||
debug_printf(" .pot = %u %u %u\n",
|
||||
key->sampler[i].pot_width,
|
||||
key->sampler[i].pot_height,
|
||||
key->sampler[i].pot_depth);
|
||||
debug_printf(" .wrap = %s %s %s\n",
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_s, TRUE),
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_t, TRUE),
|
||||
debug_dump_tex_wrap(key->sampler[i].wrap_r, TRUE));
|
||||
debug_printf(" .min_img_filter = %s\n",
|
||||
debug_dump_tex_filter(key->sampler[i].min_img_filter, TRUE));
|
||||
debug_printf(" .min_mip_filter = %s\n",
|
||||
debug_dump_tex_mipfilter(key->sampler[i].min_mip_filter, TRUE));
|
||||
debug_printf(" .mag_img_filter = %s\n",
|
||||
debug_dump_tex_filter(key->sampler[i].mag_img_filter, TRUE));
|
||||
if(key->sampler[i].compare_mode)
|
||||
debug_printf(" .compare_mode = %s\n", debug_dump_func(key->sampler[i].compare_func, TRUE));
|
||||
debug_printf(" .normalized_coords = %u\n", key->sampler[i].normalized_coords);
|
||||
debug_printf(" .prefilter = %u\n", key->sampler[i].prefilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
variant = CALLOC_STRUCT(lp_fragment_shader_variant);
|
||||
if(!variant)
|
||||
return NULL;
|
||||
@@ -588,8 +597,8 @@ generate_fragment(struct llvmpipe_context *lp,
|
||||
}
|
||||
|
||||
lp_build_conv_mask(builder, fs_type, blend_type,
|
||||
fs_mask, num_fs,
|
||||
&blend_mask, 1);
|
||||
fs_mask, num_fs,
|
||||
&blend_mask, 1);
|
||||
|
||||
/*
|
||||
* Blending.
|
||||
@@ -611,23 +620,24 @@ generate_fragment(struct llvmpipe_context *lp,
|
||||
* Translate the LLVM IR into machine code.
|
||||
*/
|
||||
|
||||
#ifdef DEBUG
|
||||
if(LLVMVerifyFunction(variant->function, LLVMPrintMessageAction)) {
|
||||
LLVMDumpValue(variant->function);
|
||||
abort();
|
||||
assert(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
LLVMRunFunctionPassManager(screen->pass, variant->function);
|
||||
|
||||
#ifdef DEBUG
|
||||
LLVMDumpValue(variant->function);
|
||||
debug_printf("\n");
|
||||
#endif
|
||||
if (LP_DEBUG & DEBUG_JIT) {
|
||||
LLVMDumpValue(variant->function);
|
||||
debug_printf("\n");
|
||||
}
|
||||
|
||||
variant->jit_function = (lp_jit_frag_func)LLVMGetPointerToGlobal(screen->engine, variant->function);
|
||||
|
||||
#ifdef DEBUG
|
||||
lp_disassemble(variant->jit_function);
|
||||
#endif
|
||||
if (LP_DEBUG & DEBUG_ASM)
|
||||
lp_disassemble(variant->jit_function);
|
||||
|
||||
variant->next = shader->variants;
|
||||
shader->variants = variant;
|
||||
@@ -661,7 +671,12 @@ llvmpipe_bind_fs_state(struct pipe_context *pipe, void *fs)
|
||||
{
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
|
||||
llvmpipe->fs = (struct lp_fragment_shader *) fs;
|
||||
if (llvmpipe->fs == fs)
|
||||
return;
|
||||
|
||||
draw_flush(llvmpipe->draw);
|
||||
|
||||
llvmpipe->fs = fs;
|
||||
|
||||
llvmpipe->dirty |= LP_NEW_FS;
|
||||
}
|
||||
@@ -712,8 +727,7 @@ llvmpipe_set_constant_buffer(struct pipe_context *pipe,
|
||||
assert(shader < PIPE_SHADER_TYPES);
|
||||
assert(index == 0);
|
||||
|
||||
if(shader == PIPE_SHADER_VERTEX)
|
||||
draw_flush(llvmpipe->draw);
|
||||
draw_flush(llvmpipe->draw);
|
||||
|
||||
/* note: reference counting */
|
||||
pipe_buffer_reference(&llvmpipe->constants[shader].buffer, buffer);
|
||||
|
@@ -41,14 +41,17 @@ llvmpipe_create_rasterizer_state(struct pipe_context *pipe,
|
||||
}
|
||||
|
||||
void llvmpipe_bind_rasterizer_state(struct pipe_context *pipe,
|
||||
void *setup)
|
||||
void *rasterizer)
|
||||
{
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
|
||||
/* pass-through to draw module */
|
||||
draw_set_rasterizer_state(llvmpipe->draw, setup);
|
||||
if (llvmpipe->rasterizer == rasterizer)
|
||||
return;
|
||||
|
||||
llvmpipe->rasterizer = (struct pipe_rasterizer_state *)setup;
|
||||
/* pass-through to draw module */
|
||||
draw_set_rasterizer_state(llvmpipe->draw, rasterizer);
|
||||
|
||||
llvmpipe->rasterizer = rasterizer;
|
||||
|
||||
llvmpipe->dirty |= LP_NEW_RASTERIZER;
|
||||
}
|
||||
|
@@ -30,7 +30,6 @@
|
||||
|
||||
#include "lp_context.h"
|
||||
#include "lp_state.h"
|
||||
#include "lp_surface.h"
|
||||
#include "lp_tile_cache.h"
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
@@ -49,6 +48,8 @@ llvmpipe_set_framebuffer_state(struct pipe_context *pipe,
|
||||
struct llvmpipe_context *lp = llvmpipe_context(pipe);
|
||||
uint i;
|
||||
|
||||
draw_flush(lp->draw);
|
||||
|
||||
for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++) {
|
||||
/* check if changing cbuf */
|
||||
if (lp->framebuffer.cbufs[i] != fb->cbufs[i]) {
|
||||
|
@@ -31,7 +31,6 @@
|
||||
|
||||
#include "lp_context.h"
|
||||
#include "lp_state.h"
|
||||
#include "lp_surface.h"
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
|
||||
|
@@ -70,14 +70,18 @@ fail:
|
||||
|
||||
|
||||
void
|
||||
llvmpipe_bind_vs_state(struct pipe_context *pipe, void *vs)
|
||||
llvmpipe_bind_vs_state(struct pipe_context *pipe, void *_vs)
|
||||
{
|
||||
struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
|
||||
const struct lp_vertex_shader *vs = (const struct lp_vertex_shader *)_vs;
|
||||
|
||||
llvmpipe->vs = (const struct lp_vertex_shader *)vs;
|
||||
if (llvmpipe->vs == vs)
|
||||
return;
|
||||
|
||||
draw_bind_vertex_shader(llvmpipe->draw,
|
||||
(llvmpipe->vs ? llvmpipe->vs->draw_data : NULL));
|
||||
draw_bind_vertex_shader(llvmpipe->draw,
|
||||
vs ? vs->draw_data : NULL);
|
||||
|
||||
llvmpipe->vs = vs;
|
||||
|
||||
llvmpipe->dirty |= LP_NEW_VS;
|
||||
}
|
||||
@@ -92,5 +96,6 @@ llvmpipe_delete_vs_state(struct pipe_context *pipe, void *vs)
|
||||
(struct lp_vertex_shader *)vs;
|
||||
|
||||
draw_delete_vertex_shader(llvmpipe->draw, state->draw_data);
|
||||
FREE( (void *)state->shader.tokens );
|
||||
FREE( state );
|
||||
}
|
||||
|
@@ -38,7 +38,6 @@
|
||||
|
||||
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_arit.h"
|
||||
#include "lp_bld_blend.h"
|
||||
#include "lp_bld_debug.h"
|
||||
#include "lp_test.h"
|
||||
|
@@ -37,7 +37,6 @@
|
||||
#include "util/u_tile.h"
|
||||
#include "util/u_format.h"
|
||||
#include "lp_context.h"
|
||||
#include "lp_surface.h"
|
||||
#include "lp_texture.h"
|
||||
#include "lp_tex_cache.h"
|
||||
|
||||
|
@@ -35,7 +35,6 @@
|
||||
|
||||
#include "lp_context.h"
|
||||
#include "lp_quad.h"
|
||||
#include "lp_surface.h"
|
||||
#include "lp_texture.h"
|
||||
#include "lp_tex_sample.h"
|
||||
#include "lp_tex_cache.h"
|
||||
|
@@ -44,7 +44,6 @@
|
||||
#include "pipe/p_shader_tokens.h"
|
||||
#include "lp_bld_debug.h"
|
||||
#include "lp_bld_type.h"
|
||||
#include "lp_bld_intr.h"
|
||||
#include "lp_bld_sample.h"
|
||||
#include "lp_bld_tgsi.h"
|
||||
#include "lp_state.h"
|
||||
|
@@ -33,14 +33,12 @@
|
||||
#include "pipe/p_context.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "pipe/internal/p_winsys_screen.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "lp_context.h"
|
||||
#include "lp_state.h"
|
||||
#include "lp_texture.h"
|
||||
#include "lp_tex_cache.h"
|
||||
#include "lp_screen.h"
|
||||
#include "lp_winsys.h"
|
||||
|
||||
|
@@ -38,8 +38,6 @@
|
||||
#include "util/u_tile.h"
|
||||
#include "util/u_rect.h"
|
||||
#include "lp_context.h"
|
||||
#include "lp_surface.h"
|
||||
#include "lp_texture.h"
|
||||
#include "lp_tile_soa.h"
|
||||
#include "lp_tile_cache.h"
|
||||
|
||||
|
@@ -43,7 +43,6 @@
|
||||
#include "sp_surface.h"
|
||||
#include "sp_tile_cache.h"
|
||||
#include "sp_tex_tile_cache.h"
|
||||
#include "sp_texture.h"
|
||||
#include "sp_winsys.h"
|
||||
#include "sp_query.h"
|
||||
|
||||
|
@@ -34,11 +34,9 @@
|
||||
#include "draw/draw_context.h"
|
||||
#include "sp_flush.h"
|
||||
#include "sp_context.h"
|
||||
#include "sp_surface.h"
|
||||
#include "sp_state.h"
|
||||
#include "sp_tile_cache.h"
|
||||
#include "sp_tex_tile_cache.h"
|
||||
#include "sp_winsys.h"
|
||||
|
||||
|
||||
void
|
||||
|
@@ -526,6 +526,8 @@ static void
|
||||
sp_vbuf_destroy(struct vbuf_render *vbr)
|
||||
{
|
||||
struct softpipe_vbuf_render *cvbr = softpipe_vbuf_render(vbr);
|
||||
if(cvbr->vertex_buffer)
|
||||
align_free(cvbr->vertex_buffer);
|
||||
sp_setup_destroy_context(cvbr->setup);
|
||||
FREE(cvbr);
|
||||
}
|
||||
|
@@ -35,7 +35,6 @@
|
||||
#include "util/u_memory.h"
|
||||
#include "sp_context.h"
|
||||
#include "sp_quad.h"
|
||||
#include "sp_surface.h"
|
||||
#include "sp_tile_cache.h"
|
||||
#include "sp_quad_pipe.h"
|
||||
|
||||
|
@@ -34,7 +34,6 @@
|
||||
#include "tgsi/tgsi_scan.h"
|
||||
#include "sp_context.h"
|
||||
#include "sp_quad.h"
|
||||
#include "sp_surface.h"
|
||||
#include "sp_quad_pipe.h"
|
||||
#include "sp_tile_cache.h"
|
||||
#include "sp_state.h" /* for sp_fragment_shader */
|
||||
@@ -667,6 +666,7 @@ depth_test_quads_fallback(struct quad_stage *qs,
|
||||
}
|
||||
|
||||
if (qs->softpipe->framebuffer.zsbuf &&
|
||||
pf_get_component_bits(qs->softpipe->framebuffer.zsbuf->format, PIPE_FORMAT_COMP_Z) &&
|
||||
(qs->softpipe->depth_stencil->depth.enabled ||
|
||||
qs->softpipe->depth_stencil->stencil[0].enabled)) {
|
||||
|
||||
@@ -885,6 +885,7 @@ choose_depth_test(struct quad_stage *qs,
|
||||
boolean alpha = qs->softpipe->depth_stencil->alpha.enabled;
|
||||
|
||||
boolean depth = (qs->softpipe->framebuffer.zsbuf &&
|
||||
pf_get_component_bits(qs->softpipe->framebuffer.zsbuf->format, PIPE_FORMAT_COMP_Z) &&
|
||||
qs->softpipe->depth_stencil->depth.enabled);
|
||||
|
||||
unsigned depthfunc = qs->softpipe->depth_stencil->depth.func;
|
||||
@@ -895,7 +896,6 @@ choose_depth_test(struct quad_stage *qs,
|
||||
|
||||
boolean occlusion = qs->softpipe->active_query_count;
|
||||
|
||||
|
||||
if (!alpha &&
|
||||
!depth &&
|
||||
!stencil) {
|
||||
|
@@ -45,8 +45,6 @@
|
||||
#include "sp_state.h"
|
||||
#include "sp_quad.h"
|
||||
#include "sp_quad_pipe.h"
|
||||
#include "sp_texture.h"
|
||||
#include "sp_tex_sample.h"
|
||||
|
||||
|
||||
struct quad_shade_stage
|
||||
|
@@ -41,7 +41,6 @@
|
||||
#include "draw/draw_private.h"
|
||||
#include "draw/draw_vertex.h"
|
||||
#include "pipe/p_shader_tokens.h"
|
||||
#include "pipe/p_thread.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
|
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
|
||||
#include "util/u_memory.h"
|
||||
#include "draw/draw_context.h"
|
||||
#include "sp_context.h"
|
||||
#include "sp_state.h"
|
||||
|
||||
@@ -45,6 +46,8 @@ void softpipe_bind_blend_state( struct pipe_context *pipe,
|
||||
{
|
||||
struct softpipe_context *softpipe = softpipe_context(pipe);
|
||||
|
||||
draw_flush(softpipe->draw);
|
||||
|
||||
softpipe->blend = (struct pipe_blend_state *)blend;
|
||||
|
||||
softpipe->dirty |= SP_NEW_BLEND;
|
||||
@@ -62,6 +65,8 @@ void softpipe_set_blend_color( struct pipe_context *pipe,
|
||||
{
|
||||
struct softpipe_context *softpipe = softpipe_context(pipe);
|
||||
|
||||
draw_flush(softpipe->draw);
|
||||
|
||||
softpipe->blend_color = *blend_color;
|
||||
|
||||
softpipe->dirty |= SP_NEW_BLEND;
|
||||
|
@@ -69,7 +69,14 @@ softpipe_bind_fs_state(struct pipe_context *pipe, void *fs)
|
||||
{
|
||||
struct softpipe_context *softpipe = softpipe_context(pipe);
|
||||
|
||||
softpipe->fs = (struct sp_fragment_shader *) fs;
|
||||
draw_flush(softpipe->draw);
|
||||
|
||||
if (softpipe->fs == fs)
|
||||
return;
|
||||
|
||||
draw_flush(softpipe->draw);
|
||||
|
||||
softpipe->fs = fs;
|
||||
|
||||
softpipe->dirty |= SP_NEW_FS;
|
||||
}
|
||||
@@ -159,6 +166,8 @@ softpipe_set_constant_buffer(struct pipe_context *pipe,
|
||||
assert(shader < PIPE_SHADER_TYPES);
|
||||
assert(index == 0);
|
||||
|
||||
draw_flush(softpipe->draw);
|
||||
|
||||
/* note: reference counting */
|
||||
pipe_buffer_reference(&softpipe->constants[shader].buffer,
|
||||
buf ? buf->buffer : NULL);
|
||||
|
@@ -41,14 +41,17 @@ softpipe_create_rasterizer_state(struct pipe_context *pipe,
|
||||
}
|
||||
|
||||
void softpipe_bind_rasterizer_state(struct pipe_context *pipe,
|
||||
void *setup)
|
||||
void *rasterizer)
|
||||
{
|
||||
struct softpipe_context *softpipe = softpipe_context(pipe);
|
||||
|
||||
/* pass-through to draw module */
|
||||
draw_set_rasterizer_state(softpipe->draw, setup);
|
||||
if (softpipe->rasterizer == rasterizer)
|
||||
return;
|
||||
|
||||
softpipe->rasterizer = (struct pipe_rasterizer_state *)setup;
|
||||
/* pass-through to draw module */
|
||||
draw_set_rasterizer_state(softpipe->draw, rasterizer);
|
||||
|
||||
softpipe->rasterizer = rasterizer;
|
||||
|
||||
softpipe->dirty |= SP_NEW_RASTERIZER;
|
||||
}
|
||||
|
@@ -30,7 +30,6 @@
|
||||
|
||||
#include "sp_context.h"
|
||||
#include "sp_state.h"
|
||||
#include "sp_surface.h"
|
||||
#include "sp_tile_cache.h"
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
@@ -49,6 +48,8 @@ softpipe_set_framebuffer_state(struct pipe_context *pipe,
|
||||
struct softpipe_context *sp = softpipe_context(pipe);
|
||||
uint i;
|
||||
|
||||
draw_flush(sp->draw);
|
||||
|
||||
for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++) {
|
||||
/* check if changing cbuf */
|
||||
if (sp->framebuffer.cbufs[i] != fb->cbufs[i]) {
|
||||
|
@@ -31,7 +31,6 @@
|
||||
|
||||
#include "sp_context.h"
|
||||
#include "sp_state.h"
|
||||
#include "sp_surface.h"
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
|
||||
|
@@ -36,7 +36,6 @@
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_tile.h"
|
||||
#include "sp_context.h"
|
||||
#include "sp_surface.h"
|
||||
#include "sp_texture.h"
|
||||
#include "sp_tex_tile_cache.h"
|
||||
|
||||
|
@@ -36,7 +36,6 @@
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "sp_context.h"
|
||||
#include "sp_state.h"
|
||||
#include "sp_texture.h"
|
||||
#include "sp_screen.h"
|
||||
#include "sp_winsys.h"
|
||||
|
@@ -215,7 +215,6 @@ struct pipe_context *svga_context_create( struct pipe_screen *screen )
|
||||
svga->state.hw_draw.num_views = 0;
|
||||
|
||||
svga->dirty = ~0;
|
||||
svga->state.white_fs_id = SVGA3D_INVALID_ID;
|
||||
|
||||
LIST_INITHEAD(&svga->dirty_buffers);
|
||||
|
||||
|
@@ -329,10 +329,6 @@ struct svga_context
|
||||
|
||||
unsigned texture_timestamp;
|
||||
|
||||
/* Internally generated shaders:
|
||||
*/
|
||||
unsigned white_fs_id;
|
||||
|
||||
/*
|
||||
*/
|
||||
struct svga_sw_state sw;
|
||||
|
@@ -26,7 +26,6 @@
|
||||
#include "svga_cmd.h"
|
||||
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "util/u_prim.h"
|
||||
#include "indices/u_indices.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
@@ -24,7 +24,6 @@
|
||||
**********************************************************/
|
||||
|
||||
#include "pipe/p_inlines.h"
|
||||
#include "util/u_prim.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "indices/u_indices.h"
|
||||
|
||||
|
@@ -29,7 +29,6 @@
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
@@ -93,6 +92,7 @@ svga_create_blend_state(struct pipe_context *pipe,
|
||||
if (templ->logicop_enable) {
|
||||
switch (templ->logicop_func) {
|
||||
case PIPE_LOGICOP_XOR:
|
||||
case PIPE_LOGICOP_INVERT:
|
||||
blend->need_white_fragments = TRUE;
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
blend->rt[i].srcblend = SVGA3D_BLENDOP_ONE;
|
||||
@@ -126,12 +126,6 @@ svga_create_blend_state(struct pipe_context *pipe,
|
||||
blend->rt[i].dstblend = SVGA3D_BLENDOP_ONE;
|
||||
blend->rt[i].blendeq = SVGA3D_BLENDEQ_MAXIMUM;
|
||||
break;
|
||||
case PIPE_LOGICOP_INVERT:
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
blend->rt[i].srcblend = SVGA3D_BLENDOP_INVSRCCOLOR;
|
||||
blend->rt[i].dstblend = SVGA3D_BLENDOP_ZERO;
|
||||
blend->rt[i].blendeq = SVGA3D_BLENDEQ_ADD;
|
||||
break;
|
||||
case PIPE_LOGICOP_AND:
|
||||
/* Approximate with minimum - works for the 0 & anything case: */
|
||||
blend->rt[i].blend_enable = TRUE;
|
||||
|
@@ -30,9 +30,6 @@
|
||||
#include "tgsi/tgsi_parse.h"
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_hw_reg.h"
|
||||
#include "svga_cmd.h"
|
||||
|
||||
/***********************************************************************
|
||||
* Constant buffers
|
||||
|
@@ -29,7 +29,6 @@
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
|
||||
|
@@ -33,7 +33,6 @@
|
||||
#include "svga_hw_reg.h"
|
||||
#include "svga_context.h"
|
||||
#include "svga_screen.h"
|
||||
#include "svga_winsys.h"
|
||||
#include "svga_draw.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_swtnl.h"
|
||||
@@ -219,9 +218,6 @@ svga_draw_range_elements( struct pipe_context *pipe,
|
||||
if (SVGA_DEBUG & DEBUG_FLUSH) {
|
||||
static unsigned id;
|
||||
debug_printf("%s %d\n", __FUNCTION__, id++);
|
||||
if (id > 1300)
|
||||
util_time_sleep( 2000 );
|
||||
|
||||
svga_hwtnl_flush_retry( svga );
|
||||
svga_context_flush(svga, NULL);
|
||||
}
|
||||
|
@@ -28,13 +28,8 @@
|
||||
#include "svga_screen_texture.h"
|
||||
#include "svga_context.h"
|
||||
#include "svga_winsys.h"
|
||||
#include "svga_draw.h"
|
||||
#include "svga_debug.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
|
||||
|
||||
|
||||
static void svga_flush( struct pipe_context *pipe,
|
||||
unsigned flags,
|
||||
|
@@ -32,11 +32,9 @@
|
||||
|
||||
#include "svga_screen.h"
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_tgsi.h"
|
||||
#include "svga_hw_reg.h"
|
||||
#include "svga_cmd.h"
|
||||
#include "svga_draw.h"
|
||||
#include "svga_debug.h"
|
||||
|
||||
|
||||
|
@@ -27,12 +27,6 @@
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_screen_texture.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_winsys.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
|
||||
|
||||
|
||||
static void svga_set_scissor_state( struct pipe_context *pipe,
|
||||
|
@@ -32,7 +32,6 @@
|
||||
#include "svga_screen.h"
|
||||
#include "svga_screen_buffer.h"
|
||||
#include "svga_winsys.h"
|
||||
#include "svga_draw.h"
|
||||
#include "svga_debug.h"
|
||||
|
||||
|
||||
|
@@ -30,7 +30,6 @@
|
||||
#include "util/u_memory.h"
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
|
@@ -32,9 +32,6 @@
|
||||
|
||||
#include "svga_context.h"
|
||||
#include "svga_screen_texture.h"
|
||||
#include "svga_state.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
#include "svga_debug.h"
|
||||
|
||||
|
@@ -32,10 +32,6 @@
|
||||
#include "svga_screen.h"
|
||||
#include "svga_screen_buffer.h"
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_winsys.h"
|
||||
|
||||
#include "svga_hw_reg.h"
|
||||
|
||||
|
||||
static void svga_set_vertex_buffers(struct pipe_context *pipe,
|
||||
|
@@ -33,7 +33,6 @@
|
||||
|
||||
#include "svga_screen.h"
|
||||
#include "svga_context.h"
|
||||
#include "svga_state.h"
|
||||
#include "svga_tgsi.h"
|
||||
#include "svga_hw_reg.h"
|
||||
#include "svga_cmd.h"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user