summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-02-10 16:34:51 -0700
committerBrian Paul <brianp@vmware.com>2009-02-10 16:34:51 -0700
commitee4c921b65fb76998711f3c40330505cbc49a0e0 (patch)
treeb4c702af3d93a76e204a3aad012541d4fbcb2101
parent767b1acbb757186bde30973394f256ab7498a075 (diff)
parent14d808f8fdc41a26cea5264e47a24c903e54ce93 (diff)
Merge commit 'origin/gallium-0.2' into gallium-master-merge
-rw-r--r--progs/SConscript2
-rw-r--r--progs/redbook/SConscript91
-rw-r--r--progs/samples/Makefile2
-rw-r--r--progs/samples/SConscript58
-rw-r--r--progs/samples/blendeq.c7
-rw-r--r--progs/samples/blendxor.c9
-rw-r--r--scons/gallium.py23
-rw-r--r--scons/generic.py24
-rw-r--r--src/gallium/auxiliary/draw/draw_pipe_pstipple.c2
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_aos.c2
-rw-r--r--src/gallium/auxiliary/gallivm/tgsitollvm.cpp4
-rw-r--r--src/gallium/auxiliary/indices/u_indices_gen.c480
-rw-r--r--src/gallium/auxiliary/indices/u_indices_gen.py2
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c37
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h32
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr.h5
-rw-r--r--src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c4
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_build.c20
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump.c4
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump_c.c4
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_exec.c2
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_parse.c4
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_ppc.c2
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_sse2.c2
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_text.c2
-rw-r--r--src/gallium/drivers/i915simple/i915_fpc_translate.c2
-rw-r--r--src/gallium/drivers/i965simple/brw_vs_emit.c2
-rw-r--r--src/gallium/drivers/nv04/nv04_surface_2d.c82
-rw-r--r--src/gallium/drivers/nv20/nv20_vertprog.c2
-rw-r--r--src/gallium/drivers/nv30/nv30_miptree.c41
-rw-r--r--src/gallium/drivers/nv30/nv30_screen.c2
-rw-r--r--src/gallium/drivers/nv30/nv30_vertprog.c2
-rw-r--r--src/gallium/drivers/nv40/nv40_miptree.c38
-rw-r--r--src/gallium/drivers/nv40/nv40_screen.c2
-rw-r--r--src/gallium/drivers/nv40/nv40_vertprog.c2
-rw-r--r--src/gallium/include/pipe/p_shader_tokens.h10
-rw-r--r--src/gallium/state_trackers/wgl/icd/stw_icd.c243
-rw-r--r--src/gallium/state_trackers/wgl/shared/stw_pixelformat.c8
-rw-r--r--src/glut/glx/SConscript1
-rw-r--r--src/glut/glx/glut.def6
-rw-r--r--src/glut/glx/glutint.h38
-rw-r--r--src/glut/glx/win32_glx.c2
-rw-r--r--src/mesa/main/texformat_tmp.h34
-rw-r--r--src/mesa/main/texstore.c63
-rw-r--r--src/mesa/state_tracker/st_cb_texture.c4
-rw-r--r--src/mesa/state_tracker/st_mesa_to_tgsi.c2
46 files changed, 876 insertions, 534 deletions
diff --git a/progs/SConscript b/progs/SConscript
index 631923a38f..6484c761fc 100644
--- a/progs/SConscript
+++ b/progs/SConscript
@@ -1,6 +1,8 @@
SConscript([
'util/SConscript',
'demos/SConscript',
+ 'redbook/SConscript',
+ 'samples/SConscript',
'trivial/SConscript',
'vp/SConscript',
])
diff --git a/progs/redbook/SConscript b/progs/redbook/SConscript
new file mode 100644
index 0000000000..242cb6647f
--- /dev/null
+++ b/progs/redbook/SConscript
@@ -0,0 +1,91 @@
+Import('*')
+
+if not env['GLUT']:
+ Return()
+
+env = env.Clone()
+
+env.Prepend(CPPPATH = [
+ '../util',
+])
+
+env.Prepend(LIBS = [
+ util,
+ '$GLUT_LIB'
+])
+
+if env['platform'] == 'windows':
+ env.Append(CPPDEFINES = ['NOMINMAX'])
+ env.Prepend(LIBS = ['winmm'])
+
+progs = [
+ 'aaindex',
+ 'aapoly',
+ 'aargb',
+ 'accanti',
+ 'accpersp',
+ 'alpha3D',
+ 'alpha',
+ 'anti',
+ 'bezcurve',
+ 'bezmesh',
+ 'checker',
+ 'clip',
+ 'colormat',
+ 'cube',
+ 'depthcue',
+ 'dof',
+ 'double',
+ 'drawf',
+ 'feedback',
+ 'fog',
+ 'fogindex',
+ 'font',
+ 'hello',
+ 'image',
+ 'light',
+ 'lines',
+ 'list',
+ 'material',
+ 'mipmap',
+ 'model',
+ 'movelight',
+ 'nurbs',
+ 'pickdepth',
+ 'picksquare',
+ 'plane',
+ 'planet',
+ 'polyoff',
+ 'polys',
+ 'quadric',
+ 'robot',
+ 'sccolorlight',
+ 'scenebamb',
+ 'scene',
+ 'sceneflat',
+ 'select',
+ 'smooth',
+ 'stencil',
+ 'stroke',
+ 'surface',
+ 'teaambient',
+ 'teapots',
+ 'tess',
+ 'tesswind',
+ 'texbind',
+ 'texgen',
+ 'texprox',
+ 'texsub',
+ 'texturesurf',
+ 'torus',
+ 'trim',
+ 'unproject',
+ 'varray',
+ 'wrap',
+]
+
+for prog in progs:
+ env.Program(
+ target = prog,
+ source = prog + '.c',
+ )
diff --git a/progs/samples/Makefile b/progs/samples/Makefile
index 63dca07d2e..b300e38b9c 100644
--- a/progs/samples/Makefile
+++ b/progs/samples/Makefile
@@ -7,7 +7,7 @@ INCDIR = $(TOP)/include
LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
font line logo nurb olympic overlay point prim quad select \
diff --git a/progs/samples/SConscript b/progs/samples/SConscript
new file mode 100644
index 0000000000..7a8a0d62d8
--- /dev/null
+++ b/progs/samples/SConscript
@@ -0,0 +1,58 @@
+Import('*')
+
+if not env['GLUT']:
+ Return()
+
+env = env.Clone()
+
+env.Prepend(CPPPATH = [
+ '../util',
+])
+
+env.Prepend(LIBS = [
+ util,
+ '$GLUT_LIB'
+])
+
+if env['platform'] == 'windows':
+ env.Append(CPPDEFINES = ['NOMINMAX'])
+ env.Prepend(LIBS = ['winmm'])
+
+progs = [
+ 'accum',
+ 'bitmap1',
+ 'bitmap2',
+ 'blendeq',
+ 'blendxor',
+ 'copy',
+ 'cursor',
+ 'depth',
+ 'eval',
+ 'fog',
+ 'font',
+ 'line',
+ 'logo',
+ 'nurb',
+ #'oglinfo',
+ 'olympic',
+ 'overlay',
+ 'point',
+ 'prim',
+ 'quad',
+ 'rgbtoppm',
+ 'select',
+ 'shape',
+ 'sphere',
+ 'star',
+ 'stencil',
+ 'stretch',
+ 'texture',
+ 'tri',
+ 'wave',
+]
+
+for prog in progs:
+ env.Program(
+ target = prog,
+ source = prog + '.c',
+ )
diff --git a/progs/samples/blendeq.c b/progs/samples/blendeq.c
index d5143ecdf5..cd0474c5ce 100644
--- a/progs/samples/blendeq.c
+++ b/progs/samples/blendeq.c
@@ -11,10 +11,7 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
#include <GL/glut.h>
GLenum doubleBuffer;
@@ -274,6 +271,8 @@ int main(int argc, char **argv)
exit(1);
}
+ glewInit();
+
/* Make sure blend_logic_op extension is there. */
s = (char *) glGetString(GL_EXTENSIONS);
version = (char*) glGetString(GL_VERSION);
diff --git a/progs/samples/blendxor.c b/progs/samples/blendxor.c
index 5bc4aa9bea..057143651f 100644
--- a/progs/samples/blendxor.c
+++ b/progs/samples/blendxor.c
@@ -10,13 +10,8 @@
#include <unistd.h>
#endif
#include <stdlib.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_LEGACY
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
#include <GL/glut.h>
-#include <GL/glext.h>
GLenum doubleBuffer;
@@ -176,6 +171,8 @@ int main(int argc, char **argv)
exit(1);
}
+ glewInit();
+
/* Make sure blend_logic_op extension is there. */
s = (char *) glGetString(GL_EXTENSIONS);
version = (char*) glGetString(GL_VERSION);
diff --git a/scons/gallium.py b/scons/gallium.py
index 065c53c54b..fc1ed08e47 100644
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -163,6 +163,25 @@ def createInstallMethods(env):
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
+def num_jobs():
+ try:
+ return int(os.environ['NUMBER_OF_PROCESSORS'])
+ except (ValueError, KeyError):
+ pass
+
+ try:
+ return os.sysconf('SC_NPROCESSORS_ONLN')
+ except (ValueError, OSError, AttributeError):
+ pass
+
+ try:
+ return int(os.popen2("sysctl -n hw.ncpu")[1].read())
+ except ValueError:
+ pass
+
+ return 1
+
+
def generate(env):
"""Common environment generation code"""
@@ -207,6 +226,10 @@ def generate(env):
env.SConsignFile(os.path.join(build_dir, '.sconsign'))
env.CacheDir('build/cache')
+ # Parallel build
+ if env.GetOption('num_jobs') <= 1:
+ env.SetOption('num_jobs', num_jobs())
+
# C preprocessor options
cppdefines = []
if debug:
diff --git a/scons/generic.py b/scons/generic.py
index 05f7356b76..2323196673 100644
--- a/scons/generic.py
+++ b/scons/generic.py
@@ -206,6 +206,25 @@ _bool_map = {
}
+def num_jobs():
+ try:
+ return int(os.environ['NUMBER_OF_PROCESSORS'])
+ except (ValueError, KeyError):
+ pass
+
+ try:
+ return os.sysconf('SC_NPROCESSORS_ONLN')
+ except (ValueError, OSError, AttributeError):
+ pass
+
+ try:
+ return int(os.popen2("sysctl -n hw.ncpu")[1].read())
+ except ValueError:
+ pass
+
+ return 1
+
+
def generate(env):
"""Common environment generation code"""
@@ -266,6 +285,10 @@ def generate(env):
# different scons versions building the same source file
env.SConsignFile(os.path.join(env['build'], '.sconsign'))
+ # Parallel build
+ if env.GetOption('num_jobs') <= 1:
+ env.SetOption('num_jobs', num_jobs())
+
# Summary
print
print ' platform=%s' % env['platform']
@@ -274,6 +297,7 @@ def generate(env):
print ' debug=%s' % ['no', 'yes'][env['debug']]
print ' profile=%s' % ['no', 'yes'][env['profile']]
print ' build=%s' % env['build']
+ print ' %s jobs' % env.GetOption('num_jobs')
print
# Load tool chain
diff --git a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
index b764d9c518..a0f9716dac 100644
--- a/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
+++ b/src/gallium/auxiliary/draw/draw_pipe_pstipple.c
@@ -256,7 +256,7 @@ pstip_transform_inst(struct tgsi_transform_context *ctx,
struct tgsi_full_immediate immed;
uint size = 4;
immed = tgsi_default_full_immediate();
- immed.Immediate.Size = 1 + size; /* one for the token itself */
+ immed.Immediate.NrTokens = 1 + size; /* one for the token itself */
immed.u.Pointer = (void *) value;
ctx->emit_immediate(ctx, &immed);
}
diff --git a/src/gallium/auxiliary/draw/draw_vs_aos.c b/src/gallium/auxiliary/draw/draw_vs_aos.c
index 6817f29c2a..0c693a4a65 100644
--- a/src/gallium/auxiliary/draw/draw_vs_aos.c
+++ b/src/gallium/auxiliary/draw/draw_vs_aos.c
@@ -1870,7 +1870,7 @@ static boolean note_immediate( struct aos_compilation *cp,
unsigned pos = cp->num_immediates++;
unsigned j;
- for (j = 0; j < imm->Immediate.Size; j++) {
+ for (j = 0; j < imm->Immediate.NrTokens - 1; j++) {
cp->vaos->machine->immediate[pos][j] = imm->u.ImmediateFloat32[j].Float;
}
diff --git a/src/gallium/auxiliary/gallivm/tgsitollvm.cpp b/src/gallium/auxiliary/gallivm/tgsitollvm.cpp
index 6b18a68fe6..5b08200d14 100644
--- a/src/gallium/auxiliary/gallivm/tgsitollvm.cpp
+++ b/src/gallium/auxiliary/gallivm/tgsitollvm.cpp
@@ -160,7 +160,7 @@ translate_immediate(Storage *storage,
{
float vec[4];
int i;
- for (i = 0; i < imm->Immediate.Size - 1; ++i) {
+ for (i = 0; i < imm->Immediate.NrTokens - 1; ++i) {
switch (imm->Immediate.DataType) {
case TGSI_IMM_FLOAT32:
vec[i] = imm->u.ImmediateFloat32[i].Float;
@@ -179,7 +179,7 @@ translate_immediateir(StorageSoa *storage,
{
float vec[4];
int i;
- for (i = 0; i < imm->Immediate.Size - 1; ++i) {
+ for (i = 0; i < imm->Immediate.NrTokens - 1; ++i) {
switch (imm->Immediate.DataType) {
case TGSI_IMM_FLOAT32:
vec[i] = imm->u.ImmediateFloat32[i].Float;
diff --git a/src/gallium/auxiliary/indices/u_indices_gen.c b/src/gallium/auxiliary/indices/u_indices_gen.c
index 01953c3244..4c05b3eedb 100644
--- a/src/gallium/auxiliary/indices/u_indices_gen.c
+++ b/src/gallium/auxiliary/indices/u_indices_gen.c
@@ -1133,7 +1133,7 @@ static void translate_points_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1146,7 +1146,7 @@ static void translate_lines_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1160,7 +1160,7 @@ static void translate_linestrip_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1174,7 +1174,7 @@ static void translate_lineloop_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1190,7 +1190,7 @@ static void translate_tris_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1205,7 +1205,7 @@ static void translate_tristrip_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1220,7 +1220,7 @@ static void translate_trifan_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1235,7 +1235,7 @@ static void translate_quads_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1253,7 +1253,7 @@ static void translate_quadstrip_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1271,7 +1271,7 @@ static void translate_polygon_ubyte2ushort_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1286,7 +1286,7 @@ static void translate_points_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1299,7 +1299,7 @@ static void translate_lines_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1313,7 +1313,7 @@ static void translate_linestrip_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1327,7 +1327,7 @@ static void translate_lineloop_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1343,7 +1343,7 @@ static void translate_tris_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1358,7 +1358,7 @@ static void translate_tristrip_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1373,7 +1373,7 @@ static void translate_trifan_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1388,7 +1388,7 @@ static void translate_quads_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1406,7 +1406,7 @@ static void translate_quadstrip_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1424,7 +1424,7 @@ static void translate_polygon_ubyte2ushort_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1439,7 +1439,7 @@ static void translate_points_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1452,7 +1452,7 @@ static void translate_lines_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1466,7 +1466,7 @@ static void translate_linestrip_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1480,7 +1480,7 @@ static void translate_lineloop_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1496,7 +1496,7 @@ static void translate_tris_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1511,7 +1511,7 @@ static void translate_tristrip_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1526,7 +1526,7 @@ static void translate_trifan_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1541,7 +1541,7 @@ static void translate_quads_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1559,7 +1559,7 @@ static void translate_quadstrip_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1577,7 +1577,7 @@ static void translate_polygon_ubyte2ushort_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1592,7 +1592,7 @@ static void translate_points_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1605,7 +1605,7 @@ static void translate_lines_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1619,7 +1619,7 @@ static void translate_linestrip_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1633,7 +1633,7 @@ static void translate_lineloop_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1649,7 +1649,7 @@ static void translate_tris_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1664,7 +1664,7 @@ static void translate_tristrip_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1679,7 +1679,7 @@ static void translate_trifan_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1694,7 +1694,7 @@ static void translate_quads_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1712,7 +1712,7 @@ static void translate_quadstrip_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1730,7 +1730,7 @@ static void translate_polygon_ubyte2ushort_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -1745,7 +1745,7 @@ static void translate_points_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1758,7 +1758,7 @@ static void translate_lines_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1772,7 +1772,7 @@ static void translate_linestrip_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1786,7 +1786,7 @@ static void translate_lineloop_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1802,7 +1802,7 @@ static void translate_tris_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1817,7 +1817,7 @@ static void translate_tristrip_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1832,7 +1832,7 @@ static void translate_trifan_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1847,7 +1847,7 @@ static void translate_quads_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1865,7 +1865,7 @@ static void translate_quadstrip_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1883,7 +1883,7 @@ static void translate_polygon_ubyte2uint_first2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1898,7 +1898,7 @@ static void translate_points_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1911,7 +1911,7 @@ static void translate_lines_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1925,7 +1925,7 @@ static void translate_linestrip_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1939,7 +1939,7 @@ static void translate_lineloop_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1955,7 +1955,7 @@ static void translate_tris_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1970,7 +1970,7 @@ static void translate_tristrip_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -1985,7 +1985,7 @@ static void translate_trifan_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2000,7 +2000,7 @@ static void translate_quads_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2018,7 +2018,7 @@ static void translate_quadstrip_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2036,7 +2036,7 @@ static void translate_polygon_ubyte2uint_first2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2051,7 +2051,7 @@ static void translate_points_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2064,7 +2064,7 @@ static void translate_lines_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2078,7 +2078,7 @@ static void translate_linestrip_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2092,7 +2092,7 @@ static void translate_lineloop_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2108,7 +2108,7 @@ static void translate_tris_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2123,7 +2123,7 @@ static void translate_tristrip_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2138,7 +2138,7 @@ static void translate_trifan_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2153,7 +2153,7 @@ static void translate_quads_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2171,7 +2171,7 @@ static void translate_quadstrip_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2189,7 +2189,7 @@ static void translate_polygon_ubyte2uint_last2first(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2204,7 +2204,7 @@ static void translate_points_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2217,7 +2217,7 @@ static void translate_lines_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2231,7 +2231,7 @@ static void translate_linestrip_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2245,7 +2245,7 @@ static void translate_lineloop_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2261,7 +2261,7 @@ static void translate_tris_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2276,7 +2276,7 @@ static void translate_tristrip_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2291,7 +2291,7 @@ static void translate_trifan_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2306,7 +2306,7 @@ static void translate_quads_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2324,7 +2324,7 @@ static void translate_quadstrip_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2342,7 +2342,7 @@ static void translate_polygon_ubyte2uint_last2last(
unsigned nr,
void *_out )
{
- const ubyte*in = (const ubyte*)in;
+ const ubyte*in = (const ubyte*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2357,7 +2357,7 @@ static void translate_points_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2370,7 +2370,7 @@ static void translate_lines_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2384,7 +2384,7 @@ static void translate_linestrip_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2398,7 +2398,7 @@ static void translate_lineloop_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2414,7 +2414,7 @@ static void translate_tris_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2429,7 +2429,7 @@ static void translate_tristrip_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2444,7 +2444,7 @@ static void translate_trifan_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2459,7 +2459,7 @@ static void translate_quads_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2477,7 +2477,7 @@ static void translate_quadstrip_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2495,7 +2495,7 @@ static void translate_polygon_ushort2ushort_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2510,7 +2510,7 @@ static void translate_points_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2523,7 +2523,7 @@ static void translate_lines_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2537,7 +2537,7 @@ static void translate_linestrip_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2551,7 +2551,7 @@ static void translate_lineloop_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2567,7 +2567,7 @@ static void translate_tris_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2582,7 +2582,7 @@ static void translate_tristrip_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2597,7 +2597,7 @@ static void translate_trifan_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2612,7 +2612,7 @@ static void translate_quads_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2630,7 +2630,7 @@ static void translate_quadstrip_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2648,7 +2648,7 @@ static void translate_polygon_ushort2ushort_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2663,7 +2663,7 @@ static void translate_points_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2676,7 +2676,7 @@ static void translate_lines_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2690,7 +2690,7 @@ static void translate_linestrip_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2704,7 +2704,7 @@ static void translate_lineloop_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2720,7 +2720,7 @@ static void translate_tris_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2735,7 +2735,7 @@ static void translate_tristrip_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2750,7 +2750,7 @@ static void translate_trifan_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2765,7 +2765,7 @@ static void translate_quads_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2783,7 +2783,7 @@ static void translate_quadstrip_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2801,7 +2801,7 @@ static void translate_polygon_ushort2ushort_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2816,7 +2816,7 @@ static void translate_points_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2829,7 +2829,7 @@ static void translate_lines_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2843,7 +2843,7 @@ static void translate_linestrip_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2857,7 +2857,7 @@ static void translate_lineloop_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2873,7 +2873,7 @@ static void translate_tris_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2888,7 +2888,7 @@ static void translate_tristrip_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2903,7 +2903,7 @@ static void translate_trifan_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2918,7 +2918,7 @@ static void translate_quads_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2936,7 +2936,7 @@ static void translate_quadstrip_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2954,7 +2954,7 @@ static void translate_polygon_ushort2ushort_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -2969,7 +2969,7 @@ static void translate_points_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2982,7 +2982,7 @@ static void translate_lines_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -2996,7 +2996,7 @@ static void translate_linestrip_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3010,7 +3010,7 @@ static void translate_lineloop_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3026,7 +3026,7 @@ static void translate_tris_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3041,7 +3041,7 @@ static void translate_tristrip_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3056,7 +3056,7 @@ static void translate_trifan_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3071,7 +3071,7 @@ static void translate_quads_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3089,7 +3089,7 @@ static void translate_quadstrip_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3107,7 +3107,7 @@ static void translate_polygon_ushort2uint_first2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3122,7 +3122,7 @@ static void translate_points_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3135,7 +3135,7 @@ static void translate_lines_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3149,7 +3149,7 @@ static void translate_linestrip_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3163,7 +3163,7 @@ static void translate_lineloop_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3179,7 +3179,7 @@ static void translate_tris_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3194,7 +3194,7 @@ static void translate_tristrip_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3209,7 +3209,7 @@ static void translate_trifan_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3224,7 +3224,7 @@ static void translate_quads_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3242,7 +3242,7 @@ static void translate_quadstrip_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3260,7 +3260,7 @@ static void translate_polygon_ushort2uint_first2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3275,7 +3275,7 @@ static void translate_points_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3288,7 +3288,7 @@ static void translate_lines_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3302,7 +3302,7 @@ static void translate_linestrip_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3316,7 +3316,7 @@ static void translate_lineloop_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3332,7 +3332,7 @@ static void translate_tris_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3347,7 +3347,7 @@ static void translate_tristrip_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3362,7 +3362,7 @@ static void translate_trifan_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3377,7 +3377,7 @@ static void translate_quads_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3395,7 +3395,7 @@ static void translate_quadstrip_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3413,7 +3413,7 @@ static void translate_polygon_ushort2uint_last2first(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3428,7 +3428,7 @@ static void translate_points_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3441,7 +3441,7 @@ static void translate_lines_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3455,7 +3455,7 @@ static void translate_linestrip_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3469,7 +3469,7 @@ static void translate_lineloop_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3485,7 +3485,7 @@ static void translate_tris_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3500,7 +3500,7 @@ static void translate_tristrip_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3515,7 +3515,7 @@ static void translate_trifan_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3530,7 +3530,7 @@ static void translate_quads_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3548,7 +3548,7 @@ static void translate_quadstrip_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3566,7 +3566,7 @@ static void translate_polygon_ushort2uint_last2last(
unsigned nr,
void *_out )
{
- const ushort*in = (const ushort*)in;
+ const ushort*in = (const ushort*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -3581,7 +3581,7 @@ static void translate_points_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3594,7 +3594,7 @@ static void translate_lines_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3608,7 +3608,7 @@ static void translate_linestrip_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3622,7 +3622,7 @@ static void translate_lineloop_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3638,7 +3638,7 @@ static void translate_tris_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3653,7 +3653,7 @@ static void translate_tristrip_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3668,7 +3668,7 @@ static void translate_trifan_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3683,7 +3683,7 @@ static void translate_quads_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3701,7 +3701,7 @@ static void translate_quadstrip_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3719,7 +3719,7 @@ static void translate_polygon_uint2ushort_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3734,7 +3734,7 @@ static void translate_points_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3747,7 +3747,7 @@ static void translate_lines_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3761,7 +3761,7 @@ static void translate_linestrip_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3775,7 +3775,7 @@ static void translate_lineloop_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3791,7 +3791,7 @@ static void translate_tris_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3806,7 +3806,7 @@ static void translate_tristrip_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3821,7 +3821,7 @@ static void translate_trifan_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3836,7 +3836,7 @@ static void translate_quads_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3854,7 +3854,7 @@ static void translate_quadstrip_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3872,7 +3872,7 @@ static void translate_polygon_uint2ushort_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3887,7 +3887,7 @@ static void translate_points_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3900,7 +3900,7 @@ static void translate_lines_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3914,7 +3914,7 @@ static void translate_linestrip_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3928,7 +3928,7 @@ static void translate_lineloop_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3944,7 +3944,7 @@ static void translate_tris_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3959,7 +3959,7 @@ static void translate_tristrip_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3974,7 +3974,7 @@ static void translate_trifan_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -3989,7 +3989,7 @@ static void translate_quads_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4007,7 +4007,7 @@ static void translate_quadstrip_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4025,7 +4025,7 @@ static void translate_polygon_uint2ushort_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4040,7 +4040,7 @@ static void translate_points_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4053,7 +4053,7 @@ static void translate_lines_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4067,7 +4067,7 @@ static void translate_linestrip_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4081,7 +4081,7 @@ static void translate_lineloop_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4097,7 +4097,7 @@ static void translate_tris_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4112,7 +4112,7 @@ static void translate_tristrip_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4127,7 +4127,7 @@ static void translate_trifan_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4142,7 +4142,7 @@ static void translate_quads_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4160,7 +4160,7 @@ static void translate_quadstrip_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4178,7 +4178,7 @@ static void translate_polygon_uint2ushort_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
ushort *out = (ushort*)_out;
unsigned i, j;
(void)j;
@@ -4193,7 +4193,7 @@ static void translate_points_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4206,7 +4206,7 @@ static void translate_lines_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4220,7 +4220,7 @@ static void translate_linestrip_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4234,7 +4234,7 @@ static void translate_lineloop_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4250,7 +4250,7 @@ static void translate_tris_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4265,7 +4265,7 @@ static void translate_tristrip_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4280,7 +4280,7 @@ static void translate_trifan_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4295,7 +4295,7 @@ static void translate_quads_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4313,7 +4313,7 @@ static void translate_quadstrip_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4331,7 +4331,7 @@ static void translate_polygon_uint2uint_first2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4346,7 +4346,7 @@ static void translate_points_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4359,7 +4359,7 @@ static void translate_lines_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4373,7 +4373,7 @@ static void translate_linestrip_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4387,7 +4387,7 @@ static void translate_lineloop_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4403,7 +4403,7 @@ static void translate_tris_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4418,7 +4418,7 @@ static void translate_tristrip_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4433,7 +4433,7 @@ static void translate_trifan_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4448,7 +4448,7 @@ static void translate_quads_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4466,7 +4466,7 @@ static void translate_quadstrip_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4484,7 +4484,7 @@ static void translate_polygon_uint2uint_first2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4499,7 +4499,7 @@ static void translate_points_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4512,7 +4512,7 @@ static void translate_lines_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4526,7 +4526,7 @@ static void translate_linestrip_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4540,7 +4540,7 @@ static void translate_lineloop_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4556,7 +4556,7 @@ static void translate_tris_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4571,7 +4571,7 @@ static void translate_tristrip_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4586,7 +4586,7 @@ static void translate_trifan_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4601,7 +4601,7 @@ static void translate_quads_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4619,7 +4619,7 @@ static void translate_quadstrip_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4637,7 +4637,7 @@ static void translate_polygon_uint2uint_last2first(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4652,7 +4652,7 @@ static void translate_points_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4665,7 +4665,7 @@ static void translate_lines_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4679,7 +4679,7 @@ static void translate_linestrip_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4693,7 +4693,7 @@ static void translate_lineloop_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4709,7 +4709,7 @@ static void translate_tris_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4724,7 +4724,7 @@ static void translate_tristrip_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4739,7 +4739,7 @@ static void translate_trifan_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4754,7 +4754,7 @@ static void translate_quads_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4772,7 +4772,7 @@ static void translate_quadstrip_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
@@ -4790,7 +4790,7 @@ static void translate_polygon_uint2uint_last2last(
unsigned nr,
void *_out )
{
- const uint*in = (const uint*)in;
+ const uint*in = (const uint*)_in;
uint *out = (uint*)_out;
unsigned i, j;
(void)j;
diff --git a/src/gallium/auxiliary/indices/u_indices_gen.py b/src/gallium/auxiliary/indices/u_indices_gen.py
index 40b047bb58..0dc58d0cd0 100644
--- a/src/gallium/auxiliary/indices/u_indices_gen.py
+++ b/src/gallium/auxiliary/indices/u_indices_gen.py
@@ -157,7 +157,7 @@ def preamble(intype, outtype, inpv, outpv, prim):
print ' void *_out )'
print '{'
if intype != GENERATE:
- print ' const ' + intype + '*in = (const ' + intype + '*)in;'
+ print ' const ' + intype + '*in = (const ' + intype + '*)_in;'
print ' ' + outtype + ' *out = (' + outtype + '*)_out;'
print ' unsigned i, j;'
print ' (void)j;'
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
index 61afdfe82a..f9e6226436 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
@@ -44,7 +44,6 @@
#include "pipe/p_compiler.h"
#include "pipe/p_error.h"
#include "pipe/p_debug.h"
-#include "pipe/internal/p_winsys_screen.h"
#include "pipe/p_thread.h"
#include "util/u_memory.h"
#include "util/u_double_list.h"
@@ -64,7 +63,7 @@ struct fenced_buffer_list
{
pipe_mutex mutex;
- struct pipe_winsys *winsys;
+ struct pb_fence_ops *ops;
size_t numDelayed;
@@ -140,12 +139,12 @@ static INLINE void
_fenced_buffer_remove(struct fenced_buffer_list *fenced_list,
struct fenced_buffer *fenced_buf)
{
- struct pipe_winsys *winsys = fenced_list->winsys;
+ struct pb_fence_ops *ops = fenced_list->ops;
assert(fenced_buf->fence);
assert(fenced_buf->list == fenced_list);
- winsys->fence_reference(winsys, &fenced_buf->fence, NULL);
+ ops->fence_reference(ops, &fenced_buf->fence, NULL);
fenced_buf->flags &= ~PIPE_BUFFER_USAGE_GPU_READ_WRITE;
assert(fenced_buf->head.prev);
@@ -168,7 +167,7 @@ static INLINE enum pipe_error
_fenced_buffer_finish(struct fenced_buffer *fenced_buf)
{
struct fenced_buffer_list *fenced_list = fenced_buf->list;
- struct pipe_winsys *winsys = fenced_list->winsys;
+ struct pb_fence_ops *ops = fenced_list->ops;
#if 0
debug_warning("waiting for GPU");
@@ -176,7 +175,7 @@ _fenced_buffer_finish(struct fenced_buffer *fenced_buf)
assert(fenced_buf->fence);
if(fenced_buf->fence) {
- if(winsys->fence_finish(winsys, fenced_buf->fence, 0) != 0) {
+ if(ops->fence_finish(ops, fenced_buf->fence, 0) != 0) {
return PIPE_ERROR;
}
/* Remove from the fenced list */
@@ -196,7 +195,7 @@ static void
_fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
int wait)
{
- struct pipe_winsys *winsys = fenced_list->winsys;
+ struct pb_fence_ops *ops = fenced_list->ops;
struct list_head *curr, *next;
struct fenced_buffer *fenced_buf;
struct pipe_fence_handle *prev_fence = NULL;
@@ -209,15 +208,15 @@ _fenced_buffer_list_check_free(struct fenced_buffer_list *fenced_list,
if(fenced_buf->fence != prev_fence) {
int signaled;
if (wait)
- signaled = winsys->fence_finish(winsys, fenced_buf->fence, 0);
+ signaled = ops->fence_finish(ops, fenced_buf->fence, 0);
else
- signaled = winsys->fence_signalled(winsys, fenced_buf->fence, 0);
+ signaled = ops->fence_signalled(ops, fenced_buf->fence, 0);
if (signaled != 0)
break;
prev_fence = fenced_buf->fence;
}
else {
- assert(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0);
+ assert(ops->fence_signalled(ops, fenced_buf->fence, 0) == 0);
}
_fenced_buffer_remove(fenced_list, fenced_buf);
@@ -237,14 +236,14 @@ fenced_buffer_destroy(struct pb_buffer *buf)
pipe_mutex_lock(fenced_list->mutex);
assert(fenced_buf->base.base.refcount == 0);
if (fenced_buf->fence) {
- struct pipe_winsys *winsys = fenced_list->winsys;
- if(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0) {
+ struct pb_fence_ops *ops = fenced_list->ops;
+ if(ops->fence_signalled(ops, fenced_buf->fence, 0) == 0) {
struct list_head *curr, *prev;
curr = &fenced_buf->head;
prev = curr->prev;
do {
fenced_buf = LIST_ENTRY(struct fenced_buffer, curr, head);
- assert(winsys->fence_signalled(winsys, fenced_buf->fence, 0) == 0);
+ assert(ops->fence_signalled(ops, fenced_buf->fence, 0) == 0);
_fenced_buffer_remove(fenced_list, fenced_buf);
curr = prev;
prev = curr->prev;
@@ -366,11 +365,11 @@ fenced_buffer_fence(struct pb_buffer *buf,
{
struct fenced_buffer *fenced_buf;
struct fenced_buffer_list *fenced_list;
- struct pipe_winsys *winsys;
+ struct pb_fence_ops *ops;
fenced_buf = fenced_buffer(buf);
fenced_list = fenced_buf->list;
- winsys = fenced_list->winsys;
+ ops = fenced_list->ops;
if(fence == fenced_buf->fence) {
/* Nothing to do */
@@ -384,7 +383,7 @@ fenced_buffer_fence(struct pb_buffer *buf,
if (fenced_buf->fence)
_fenced_buffer_remove(fenced_list, fenced_buf);
if (fence) {
- winsys->fence_reference(winsys, &fenced_buf->fence, fence);
+ ops->fence_reference(ops, &fenced_buf->fence, fence);
fenced_buf->flags |= fenced_buf->validation_flags;
_fenced_buffer_add(fenced_buf);
}
@@ -447,7 +446,7 @@ fenced_buffer_create(struct fenced_buffer_list *fenced_list,
struct fenced_buffer_list *
-fenced_buffer_list_create(struct pipe_winsys *winsys)
+fenced_buffer_list_create(struct pb_fence_ops *ops)
{
struct fenced_buffer_list *fenced_list;
@@ -455,7 +454,7 @@ fenced_buffer_list_create(struct pipe_winsys *winsys)
if (!fenced_list)
return NULL;
- fenced_list->winsys = winsys;
+ fenced_list->ops = ops;
LIST_INITHEAD(&fenced_list->delayed);
@@ -494,6 +493,8 @@ fenced_buffer_list_destroy(struct fenced_buffer_list *fenced_list)
pipe_mutex_unlock(fenced_list->mutex);
+ fenced_list->ops->destroy(fenced_list->ops);
+
FREE(fenced_list);
}
diff --git a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h
index b15c676194..d1c9d4c17d 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h
+++ b/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.h
@@ -59,7 +59,6 @@ extern "C" {
#endif
-struct pipe_winsys;
struct pipe_buffer;
struct pipe_fence_handle;
@@ -70,13 +69,42 @@ struct pipe_fence_handle;
struct fenced_buffer_list;
+struct pb_fence_ops
+{
+ void (*destroy)( struct pb_fence_ops *ops );
+
+ /** Set ptr = fence, with reference counting */
+ void (*fence_reference)( struct pb_fence_ops *ops,
+ struct pipe_fence_handle **ptr,
+ struct pipe_fence_handle *fence );
+
+ /**
+ * Checks whether the fence has been signalled.
+ * \param flags driver-specific meaning
+ * \return zero on success.
+ */
+ int (*fence_signalled)( struct pb_fence_ops *ops,
+ struct pipe_fence_handle *fence,
+ unsigned flag );
+
+ /**
+ * Wait for the fence to finish.
+ * \param flags driver-specific meaning
+ * \return zero on success.
+ */
+ int (*fence_finish)( struct pb_fence_ops *ops,
+ struct pipe_fence_handle *fence,
+ unsigned flag );
+};
+
+
/**
* 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 pipe_winsys *winsys);
+fenced_buffer_list_create(struct pb_fence_ops *ops);
/**
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr.h b/src/gallium/auxiliary/pipebuffer/pb_bufmgr.h
index 0a8264a924..fec8db91c7 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr.h
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr.h
@@ -61,7 +61,6 @@ extern "C" {
struct pb_desc;
struct pipe_buffer;
-struct pipe_winsys;
/**
@@ -163,6 +162,8 @@ pb_cache_manager_create(struct pb_manager *provider,
unsigned usecs);
+struct pb_fence_ops;
+
/**
* Fenced buffer manager.
*
@@ -174,7 +175,7 @@ pb_cache_manager_create(struct pb_manager *provider,
*/
struct pb_manager *
fenced_bufmgr_create(struct pb_manager *provider,
- struct pipe_winsys *winsys);
+ struct pb_fence_ops *ops);
struct pb_manager *
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c
index 513ed28ca6..47e9fee533 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_fenced.c
@@ -122,7 +122,7 @@ fenced_bufmgr_destroy(struct pb_manager *mgr)
struct pb_manager *
fenced_bufmgr_create(struct pb_manager *provider,
- struct pipe_winsys *winsys)
+ struct pb_fence_ops *ops)
{
struct fenced_pb_manager *fenced_mgr;
@@ -138,7 +138,7 @@ fenced_bufmgr_create(struct pb_manager *provider,
fenced_mgr->base.flush = fenced_bufmgr_flush;
fenced_mgr->provider = provider;
- fenced_mgr->fenced_list = fenced_buffer_list_create(winsys);
+ fenced_mgr->fenced_list = fenced_buffer_list_create(ops);
if(!fenced_mgr->fenced_list) {
FREE(fenced_mgr);
return NULL;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c
index fd02c2c87c..17886540cf 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_build.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_build.c
@@ -114,7 +114,7 @@ tgsi_default_declaration( void )
struct tgsi_declaration declaration;
declaration.Type = TGSI_TOKEN_TYPE_DECLARATION;
- declaration.Size = 1;
+ declaration.NrTokens = 1;
declaration.File = TGSI_FILE_NULL;
declaration.UsageMask = TGSI_WRITEMASK_XYZW;
declaration.Interpolate = TGSI_INTERPOLATE_CONSTANT;
@@ -160,9 +160,9 @@ declaration_grow(
struct tgsi_declaration *declaration,
struct tgsi_header *header )
{
- assert( declaration->Size < 0xFF );
+ assert( declaration->NrTokens < 0xFF );
- declaration->Size++;
+ declaration->NrTokens++;
header_bodysize_grow( header );
}
@@ -308,7 +308,7 @@ tgsi_default_immediate( void )
struct tgsi_immediate immediate;
immediate.Type = TGSI_TOKEN_TYPE_IMMEDIATE;
- immediate.Size = 1;
+ immediate.NrTokens = 1;
immediate.DataType = TGSI_IMM_FLOAT32;
immediate.Padding = 0;
immediate.Extended = 0;
@@ -345,9 +345,9 @@ immediate_grow(
struct tgsi_immediate *immediate,
struct tgsi_header *header )
{
- assert( immediate->Size < 0xFF );
+ assert( immediate->NrTokens < 0xFF );
- immediate->Size++;
+ immediate->NrTokens++;
header_bodysize_grow( header );
}
@@ -384,7 +384,7 @@ tgsi_build_full_immediate(
*immediate = tgsi_build_immediate( header );
- for( i = 0; i < full_imm->Immediate.Size - 1; i++ ) {
+ for( i = 0; i < full_imm->Immediate.NrTokens - 1; i++ ) {
struct tgsi_immediate_float32 *if32;
if( maxsize <= size )
@@ -411,7 +411,7 @@ tgsi_default_instruction( void )
struct tgsi_instruction instruction;
instruction.Type = TGSI_TOKEN_TYPE_INSTRUCTION;
- instruction.Size = 1;
+ instruction.NrTokens = 1;
instruction.Opcode = TGSI_OPCODE_MOV;
instruction.Saturate = TGSI_SAT_NONE;
instruction.NumDstRegs = 1;
@@ -453,9 +453,9 @@ instruction_grow(
struct tgsi_instruction *instruction,
struct tgsi_header *header )
{
- assert (instruction->Size < 0xFF);
+ assert (instruction->NrTokens < 0xFF);
- instruction->Size++;
+ instruction->NrTokens++;
header_bodysize_grow( header );
}
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c
index 2ed8c2bf07..ab2b1f2c58 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c
@@ -285,7 +285,7 @@ iter_immediate(
ENM( imm->Immediate.DataType, immediate_type_names );
TXT( " { " );
- for (i = 0; i < imm->Immediate.Size - 1; i++) {
+ for (i = 0; i < imm->Immediate.NrTokens - 1; i++) {
switch (imm->Immediate.DataType) {
case TGSI_IMM_FLOAT32:
FLT( imm->u.ImmediateFloat32[i].Float );
@@ -294,7 +294,7 @@ iter_immediate(
assert( 0 );
}
- if (i < imm->Immediate.Size - 2)
+ if (i < imm->Immediate.NrTokens - 2)
TXT( ", " );
}
TXT( " }" );
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump_c.c b/src/gallium/auxiliary/tgsi/tgsi_dump_c.c
index c575b6c3e1..2ecf1e2f14 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump_c.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump_c.c
@@ -283,7 +283,7 @@ dump_immediate_verbose(
UIX( imm->Immediate.Padding );
}
- for( i = 0; i < imm->Immediate.Size - 1; i++ ) {
+ for( i = 0; i < imm->Immediate.NrTokens - 1; i++ ) {
EOL();
switch( imm->Immediate.DataType ) {
case TGSI_IMM_FLOAT32:
@@ -675,7 +675,7 @@ tgsi_dump_c(
ENM( parse.FullToken.Token.Type, TGSI_TOKEN_TYPES );
if( ignored ) {
TXT( "\nSize : " );
- UID( parse.FullToken.Token.Size );
+ UID( parse.FullToken.Token.NrTokens );
if( deflt || parse.FullToken.Token.Extended ) {
TXT( "\nExtended : " );
UID( parse.FullToken.Token.Extended );
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index a182e679da..ab641efb60 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -202,7 +202,7 @@ tgsi_exec_machine_bind_shader(
case TGSI_TOKEN_TYPE_IMMEDIATE:
{
- uint size = parse.FullToken.FullImmediate.Immediate.Size - 1;
+ uint size = parse.FullToken.FullImmediate.Immediate.NrTokens - 1;
assert( size % 4 == 0 );
assert( mach->ImmLimit + size / 4 <= TGSI_EXEC_NUM_IMMEDIATES );
diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.c b/src/gallium/auxiliary/tgsi/tgsi_parse.c
index 2cd56e413a..d374b16f9a 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_parse.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_parse.c
@@ -155,8 +155,8 @@ tgsi_parse_token(
switch (imm->Immediate.DataType) {
case TGSI_IMM_FLOAT32:
imm->u.Pointer = MALLOC(
- sizeof( struct tgsi_immediate_float32 ) * (imm->Immediate.Size - 1) );
- for( i = 0; i < imm->Immediate.Size - 1; i++ ) {
+ sizeof( struct tgsi_immediate_float32 ) * (imm->Immediate.NrTokens - 1) );
+ for( i = 0; i < imm->Immediate.NrTokens - 1; i++ ) {
next_token( ctx, (struct tgsi_immediate_float32 *) &imm->u.ImmediateFloat32[i] );
}
break;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ppc.c b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
index 1a4db47501..f365030e52 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ppc.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
@@ -1327,7 +1327,7 @@ tgsi_emit_ppc(const struct tgsi_token *tokens,
case TGSI_TOKEN_TYPE_IMMEDIATE:
/* splat each immediate component into a float[4] vector for SoA */
{
- const uint size = parse.FullToken.FullImmediate.Immediate.Size - 1;
+ const uint size = parse.FullToken.FullImmediate.Immediate.NrTokens - 1;
uint i;
assert(size <= 4);
assert(num_immediates < TGSI_EXEC_NUM_IMMEDIATES);
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
index cac44af7f4..481ba89c5e 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
@@ -2671,7 +2671,7 @@ tgsi_emit_sse2(
case TGSI_TOKEN_TYPE_IMMEDIATE:
/* simply copy the immediate values into the next immediates[] slot */
{
- const uint size = parse.FullToken.FullImmediate.Immediate.Size - 1;
+ const uint size = parse.FullToken.FullImmediate.Immediate.NrTokens - 1;
uint i;
assert(size <= 4);
assert(num_immediates < TGSI_EXEC_NUM_IMMEDIATES);
diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c
index 9454563361..1e822fbbea 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_text.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_text.c
@@ -1023,7 +1023,7 @@ static boolean parse_immediate( struct translate_ctx *ctx )
ctx->cur++;
imm = tgsi_default_full_immediate();
- imm.Immediate.Size += 4;
+ imm.Immediate.NrTokens += 4;
imm.Immediate.DataType = TGSI_IMM_FLOAT32;
imm.u.Pointer = values;
diff --git a/src/gallium/drivers/i915simple/i915_fpc_translate.c b/src/gallium/drivers/i915simple/i915_fpc_translate.c
index 43d62c5176..d92bdc1bc6 100644
--- a/src/gallium/drivers/i915simple/i915_fpc_translate.c
+++ b/src/gallium/drivers/i915simple/i915_fpc_translate.c
@@ -964,7 +964,7 @@ i915_translate_instructions(struct i915_fp_compile *p,
= &parse.FullToken.FullImmediate;
const uint pos = p->num_immediates++;
uint j;
- for (j = 0; j < imm->Immediate.Size; j++) {
+ for (j = 0; j < imm->Immediate.NrTokens - 1; j++) {
p->immediates[pos][j] = imm->u.ImmediateFloat32[j].Float;
}
}
diff --git a/src/gallium/drivers/i965simple/brw_vs_emit.c b/src/gallium/drivers/i965simple/brw_vs_emit.c
index 34dbc0624d..e03d653482 100644
--- a/src/gallium/drivers/i965simple/brw_vs_emit.c
+++ b/src/gallium/drivers/i965simple/brw_vs_emit.c
@@ -1293,7 +1293,7 @@ void brw_vs_emit(struct brw_vs_compile *c)
break;
case TGSI_TOKEN_TYPE_IMMEDIATE: {
struct tgsi_full_immediate *imm = &parse.FullToken.FullImmediate;
- /*assert(imm->Immediate.Size == 4);*/
+ assert(imm->Immediate.NrTokens == 4 + 1);
c->prog_data.imm_buf[c->prog_data.num_imm][0] = imm->u.ImmediateFloat32[0].Float;
c->prog_data.imm_buf[c->prog_data.num_imm][1] = imm->u.ImmediateFloat32[1].Float;
c->prog_data.imm_buf[c->prog_data.num_imm][2] = imm->u.ImmediateFloat32[2].Float;
diff --git a/src/gallium/drivers/nv04/nv04_surface_2d.c b/src/gallium/drivers/nv04/nv04_surface_2d.c
index 1b5d980468..230cfd17dd 100644
--- a/src/gallium/drivers/nv04/nv04_surface_2d.c
+++ b/src/gallium/drivers/nv04/nv04_surface_2d.c
@@ -1,7 +1,6 @@
#include "pipe/p_context.h"
#include "pipe/p_format.h"
#include "util/u_memory.h"
-#include "util/u_math.h"
#include "nouveau/nouveau_winsys.h"
#include "nouveau/nouveau_util.h"
@@ -106,9 +105,8 @@ nv04_surface_copy_swizzle(struct nv04_surface_2d *ctx,
const unsigned max_h = 1024;
const unsigned sub_w = w > max_w ? max_w : w;
const unsigned sub_h = h > max_h ? max_h : h;
- unsigned cx = 0;
- unsigned cy = 0;
- int i, offset = 0;
+ unsigned cx;
+ unsigned cy;
/* POT or GTFO */
assert(!(w & (w - 1)) && !(h & (h - 1)));
@@ -116,54 +114,46 @@ nv04_surface_copy_swizzle(struct nv04_surface_2d *ctx,
BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_DMA_IMAGE, 1);
OUT_RELOCo(chan, dst_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
+
BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_FORMAT, 1);
OUT_RING (chan, nv04_surface_format(dst->format) |
log2i(w) << NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_U_SHIFT |
log2i(h) << NV04_SWIZZLED_SURFACE_FORMAT_BASE_SIZE_V_SHIFT);
-
+
BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_DMA_IMAGE, 1);
OUT_RELOCo(chan, src_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_SURFACE, 1);
OUT_RING (chan, swzsurf->handle);
- /* Upload, then swizzle each mipmap level in turn */
- for (i=0; i<src->texture->last_level; i++) {
-
- for (cy = 0; cy < h; cy += sub_h) {
- for (cx = 0; cx < w; cx += sub_w) {
- BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_OFFSET, 1);
- OUT_RELOCl(chan, dst_bo, dst->offset + nv04_swizzle_bits(cx, cy) *
- dst->block.size + offset, NOUVEAU_BO_GART |
- NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
-
- BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION, 9);
- OUT_RING (chan, NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE);
- OUT_RING (chan, nv04_scaled_image_format(src->format));
- OUT_RING (chan, NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY);
- OUT_RING (chan, 0);
- OUT_RING (chan, sub_h << 16 | sub_w);
- OUT_RING (chan, 0);
- OUT_RING (chan, sub_h << 16 | sub_w);
- OUT_RING (chan, 1 << 20);
- OUT_RING (chan, 1 << 20);
-
- BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_SIZE, 4);
- OUT_RING (chan, sub_h << 16 | sub_w);
- OUT_RING (chan, src->stride |
- NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER |
- NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE);
- OUT_RELOCl(chan, src_bo, src->offset + cy * src->stride +
- cx * src->block.size + offset, NOUVEAU_BO_GART |
- NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
- OUT_RING (chan, 0);
- }
- }
-
- /* FIXME: need to know how many bytes per pixel */
- offset += align(w * h * 2 /*src->block.size*/, 64);
- w >>= 1;
- h >>= 1;
+ for (cy = 0; cy < h; cy += sub_h) {
+ for (cx = 0; cx < w; cx += sub_w) {
+ BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_OFFSET, 1);
+ OUT_RELOCl(chan, dst_bo, dst->offset + nv04_swizzle_bits(cx, cy) *
+ dst->block.size, NOUVEAU_BO_GART |
+ NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
+
+ BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION, 9);
+ OUT_RING (chan, NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_TRUNCATE);
+ OUT_RING (chan, nv04_scaled_image_format(src->format));
+ OUT_RING (chan, NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY);
+ OUT_RING (chan, 0);
+ OUT_RING (chan, sub_h << 16 | sub_w);
+ OUT_RING (chan, 0);
+ OUT_RING (chan, sub_h << 16 | sub_w);
+ OUT_RING (chan, 1 << 20);
+ OUT_RING (chan, 1 << 20);
+
+ BEGIN_RING(chan, sifm, NV04_SCALED_IMAGE_FROM_MEMORY_SIZE, 4);
+ OUT_RING (chan, sub_h << 16 | sub_w);
+ OUT_RING (chan, src->stride |
+ NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_ORIGIN_CENTER |
+ NV04_SCALED_IMAGE_FROM_MEMORY_FORMAT_FILTER_POINT_SAMPLE);
+ OUT_RELOCl(chan, src_bo, src->offset + cy * src->stride +
+ cx * src->block.size, NOUVEAU_BO_GART |
+ NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
+ OUT_RING (chan, 0);
+ }
}
return 0;
@@ -258,8 +248,7 @@ nv04_surface_copy(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
assert(src->format == dst->format);
/* Setup transfer to swizzle the texture to vram if needed */
- /* FIXME/TODO: check proper limits of this operation */
- if (src_linear ^ dst_linear) {
+ if (src_linear && !dst_linear && w > 1 && h > 1) {
nv04_surface_copy_swizzle(ctx, dst, dx, dy, src, sx, sy, w, h);
return;
}
@@ -267,7 +256,8 @@ nv04_surface_copy(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
/* NV_CONTEXT_SURFACES_2D has buffer alignment restrictions, fallback
* to NV_MEMORY_TO_MEMORY_FORMAT in this case.
*/
- if ((src->offset & 63) || (dst->offset & 63)) {
+ if ((src->offset & 63) || (dst->offset & 63) ||
+ (src->stride & 63) || (dst->stride & 63)) {
nv04_surface_copy_m2mf(ctx, dst, dx, dy, src, sx, sy, w, h);
return;
}
@@ -456,5 +446,3 @@ nv04_surface_2d_init(struct nouveau_winsys *nvws)
ctx->fill = nv04_surface_fill;
return ctx;
}
-
-
diff --git a/src/gallium/drivers/nv20/nv20_vertprog.c b/src/gallium/drivers/nv20/nv20_vertprog.c
index a885fcd7a5..5db0e807ff 100644
--- a/src/gallium/drivers/nv20/nv20_vertprog.c
+++ b/src/gallium/drivers/nv20/nv20_vertprog.c
@@ -613,7 +613,7 @@ nv20_vertprog_translate(struct nv20_context *nv20,
imm = &parse.FullToken.FullImmediate;
assert(imm->Immediate.DataType == TGSI_IMM_FLOAT32);
-// assert(imm->Immediate.Size == 4);
+ assert(imm->Immediate.NrTokens == 4 + 1);
vpc->imm[vpc->nr_imm++] =
constant(vpc, -1,
imm->u.ImmediateFloat32[0].Float,
diff --git a/src/gallium/drivers/nv30/nv30_miptree.c b/src/gallium/drivers/nv30/nv30_miptree.c
index 23f8829321..fe13f50ebb 100644
--- a/src/gallium/drivers/nv30/nv30_miptree.c
+++ b/src/gallium/drivers/nv30/nv30_miptree.c
@@ -8,10 +8,14 @@ static void
nv30_miptree_layout(struct nv30_miptree *nv30mt)
{
struct pipe_texture *pt = &nv30mt->base;
- boolean swizzled = FALSE;
uint width = pt->width[0], height = pt->height[0], depth = pt->depth[0];
uint offset = 0;
- int nr_faces, l, f, pitch;
+ int nr_faces, l, f;
+ uint wide_pitch = pt->tex_usage & (PIPE_TEXTURE_USAGE_SAMPLER |
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL |
+ PIPE_TEXTURE_USAGE_RENDER_TARGET |
+ PIPE_TEXTURE_USAGE_DISPLAY_TARGET |
+ PIPE_TEXTURE_USAGE_PRIMARY);
if (pt->target == PIPE_TEXTURE_CUBE) {
nr_faces = 6;
@@ -22,7 +26,6 @@ nv30_miptree_layout(struct nv30_miptree *nv30mt)
nr_faces = 1;
}
- pitch = pt->width[0];
for (l = 0; l <= pt->last_level; l++) {
pt->width[l] = width;
pt->height[l] = height;
@@ -30,11 +33,11 @@ nv30_miptree_layout(struct nv30_miptree *nv30mt)
pt->nblocksx[l] = pf_get_nblocksx(&pt->block, width);
pt->nblocksy[l] = pf_get_nblocksy(&pt->block, height);
- if (swizzled)
- pitch = pt->nblocksx[l];
- pitch = align(pitch, 64);
+ if (wide_pitch && (pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR))
+ nv30mt->level[l].pitch = align(pt->width[0] * pt->block.size, 64);
+ else
+ nv30mt->level[l].pitch = pt->width[l] * pt->block.size;
- nv30mt->level[l].pitch = pitch * pt->block.size;
nv30mt->level[l].image_offset =
CALLOC(nr_faces, sizeof(unsigned));
@@ -44,10 +47,17 @@ nv30_miptree_layout(struct nv30_miptree *nv30mt)
}
for (f = 0; f < nr_faces; f++) {
- for (l = 0; l <= pt->last_level; l++) {
+ for (l = 0; l < pt->last_level; l++) {
nv30mt->level[l].image_offset[f] = offset;
- offset += nv30mt->level[l].pitch * pt->height[l];
+
+ if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR))
+ offset += align(nv30mt->level[l].pitch * pt->height[l], 64);
+ else
+ offset += nv30mt->level[l].pitch * pt->height[l];
}
+
+ nv30mt->level[l].image_offset[f] = offset;
+ offset += nv30mt->level[l].pitch * pt->height[l];
}
nv30mt->total_size = offset;
@@ -74,7 +84,8 @@ nv30_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
else
if (pt->tex_usage & (PIPE_TEXTURE_USAGE_PRIMARY |
- PIPE_TEXTURE_USAGE_DISPLAY_TARGET))
++ PIPE_TEXTURE_USAGE_DISPLAY_TARGET |
++ PIPE_TEXTURE_USAGE_DEPTH_STENCIL))
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
else
if (pt->tex_usage & PIPE_TEXTURE_USAGE_DYNAMIC)
@@ -85,7 +96,11 @@ nv30_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_X8R8G8B8_UNORM:
case PIPE_FORMAT_R16_SNORM:
- break;
+ {
+ if (debug_get_bool_option("NOUVEAU_NO_SWIZZLE", FALSE))
+ mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
+ break;
+ }
default:
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
}
@@ -148,8 +163,8 @@ nv30_miptree_release(struct pipe_screen *pscreen, struct pipe_texture **ppt)
}
if (mt->shadow_tex) {
- assert(mt->shadow_surface);
- pscreen->tex_surface_release(pscreen, &mt->shadow_surface);
+ if (mt->shadow_surface)
+ pscreen->tex_surface_release(pscreen, &mt->shadow_surface);
nv30_miptree_release(pscreen, &mt->shadow_tex);
}
diff --git a/src/gallium/drivers/nv30/nv30_screen.c b/src/gallium/drivers/nv30/nv30_screen.c
index e3c9b42044..c97a73f0b1 100644
--- a/src/gallium/drivers/nv30/nv30_screen.c
+++ b/src/gallium/drivers/nv30/nv30_screen.c
@@ -206,6 +206,8 @@ nv30_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)
nvscreen->eng2d->copy(nvscreen->eng2d, surface, 0, 0,
surface_to_unmap, 0, 0,
surface->width, surface->height);
+
+ screen->tex_surface_release(screen, &surface_to_unmap);
}
}
diff --git a/src/gallium/drivers/nv30/nv30_vertprog.c b/src/gallium/drivers/nv30/nv30_vertprog.c
index 72824559e8..d262725057 100644
--- a/src/gallium/drivers/nv30/nv30_vertprog.c
+++ b/src/gallium/drivers/nv30/nv30_vertprog.c
@@ -613,7 +613,7 @@ nv30_vertprog_translate(struct nv30_context *nv30,
imm = &parse.FullToken.FullImmediate;
assert(imm->Immediate.DataType == TGSI_IMM_FLOAT32);
-// assert(imm->Immediate.Size == 4);
+ assert(imm->Immediate.NrTokens == 4 + 1);
vpc->imm[vpc->nr_imm++] =
constant(vpc, -1,
imm->u.ImmediateFloat32[0].Float,
diff --git a/src/gallium/drivers/nv40/nv40_miptree.c b/src/gallium/drivers/nv40/nv40_miptree.c
index 9bef23ad1f..e4f8df910a 100644
--- a/src/gallium/drivers/nv40/nv40_miptree.c
+++ b/src/gallium/drivers/nv40/nv40_miptree.c
@@ -10,7 +10,12 @@ nv40_miptree_layout(struct nv40_miptree *mt)
struct pipe_texture *pt = &mt->base;
uint width = pt->width[0], height = pt->height[0], depth = pt->depth[0];
uint offset = 0;
- int nr_faces, l, f, pitch;
+ int nr_faces, l, f;
+ uint wide_pitch = pt->tex_usage & (PIPE_TEXTURE_USAGE_SAMPLER |
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL |
+ PIPE_TEXTURE_USAGE_RENDER_TARGET |
+ PIPE_TEXTURE_USAGE_DISPLAY_TARGET |
+ PIPE_TEXTURE_USAGE_PRIMARY);
if (pt->target == PIPE_TEXTURE_CUBE) {
nr_faces = 6;
@@ -21,7 +26,6 @@ nv40_miptree_layout(struct nv40_miptree *mt)
nr_faces = 1;
}
- pitch = pt->width[0];
for (l = 0; l <= pt->last_level; l++) {
pt->width[l] = width;
pt->height[l] = height;
@@ -29,11 +33,11 @@ nv40_miptree_layout(struct nv40_miptree *mt)
pt->nblocksx[l] = pf_get_nblocksx(&pt->block, width);
pt->nblocksy[l] = pf_get_nblocksy(&pt->block, height);
- if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR))
- pitch = pt->nblocksx[l];
- pitch = align(pitch, 64);
+ if (wide_pitch && (pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR))
+ mt->level[l].pitch = align(pt->width[0] * pt->block.size, 64);
+ else
+ mt->level[l].pitch = pt->width[l] * pt->block.size;
- mt->level[l].pitch = pitch * pt->block.size;
mt->level[l].image_offset =
CALLOC(nr_faces, sizeof(unsigned));
@@ -43,10 +47,17 @@ nv40_miptree_layout(struct nv40_miptree *mt)
}
for (f = 0; f < nr_faces; f++) {
- for (l = 0; l <= pt->last_level; l++) {
+ for (l = 0; l < pt->last_level; l++) {
mt->level[l].image_offset[f] = offset;
- offset += mt->level[l].pitch * pt->height[l];
+
+ if (!(pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR))
+ offset += align(mt->level[l].pitch * pt->height[l], 64);
+ else
+ offset += mt->level[l].pitch * pt->height[l];
}
+
+ mt->level[l].image_offset[f] = offset;
+ offset += mt->level[l].pitch * pt->height[l];
}
mt->total_size = offset;
@@ -75,7 +86,8 @@ nv40_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
else
if (pt->tex_usage & (PIPE_TEXTURE_USAGE_PRIMARY |
- PIPE_TEXTURE_USAGE_DISPLAY_TARGET))
+ PIPE_TEXTURE_USAGE_DISPLAY_TARGET |
+ PIPE_TEXTURE_USAGE_DEPTH_STENCIL))
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
else
if (pt->tex_usage & PIPE_TEXTURE_USAGE_DYNAMIC)
@@ -86,7 +98,11 @@ nv40_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt)
case PIPE_FORMAT_A8R8G8B8_UNORM:
case PIPE_FORMAT_X8R8G8B8_UNORM:
case PIPE_FORMAT_R16_SNORM:
+ {
+ if (debug_get_bool_option("NOUVEAU_NO_SWIZZLE", FALSE))
+ mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
break;
+ }
default:
mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR;
}
@@ -149,8 +165,8 @@ nv40_miptree_release(struct pipe_screen *pscreen, struct pipe_texture **ppt)
}
if (mt->shadow_tex) {
- assert(mt->shadow_surface);
- pscreen->tex_surface_release(pscreen, &mt->shadow_surface);
+ if (mt->shadow_surface)
+ pscreen->tex_surface_release(pscreen, &mt->shadow_surface);
nv40_miptree_release(pscreen, &mt->shadow_tex);
}
diff --git a/src/gallium/drivers/nv40/nv40_screen.c b/src/gallium/drivers/nv40/nv40_screen.c
index 88a329ea24..2372bc8441 100644
--- a/src/gallium/drivers/nv40/nv40_screen.c
+++ b/src/gallium/drivers/nv40/nv40_screen.c
@@ -214,6 +214,8 @@ nv40_surface_unmap(struct pipe_screen *screen, struct pipe_surface *surface)
nvscreen->eng2d->copy(nvscreen->eng2d, surface, 0, 0,
surface_to_unmap, 0, 0,
surface->width, surface->height);
+
+ screen->tex_surface_release(screen, &surface_to_unmap);
}
}
diff --git a/src/gallium/drivers/nv40/nv40_vertprog.c b/src/gallium/drivers/nv40/nv40_vertprog.c
index 1392fe956f..0862386638 100644
--- a/src/gallium/drivers/nv40/nv40_vertprog.c
+++ b/src/gallium/drivers/nv40/nv40_vertprog.c
@@ -784,7 +784,7 @@ nv40_vertprog_translate(struct nv40_context *nv40,
imm = &parse.FullToken.FullImmediate;
assert(imm->Immediate.DataType == TGSI_IMM_FLOAT32);
-// assert(imm->Immediate.Size == 4);
+ assert(imm->Immediate.NrTokens == 4 + 1);
vpc->imm[vpc->nr_imm++] =
constant(vpc, -1,
imm->u.ImmediateFloat32[0].Float,
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index ad43d799f3..35df70e7b7 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -64,7 +64,7 @@ struct tgsi_processor
struct tgsi_token
{
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_x */
- unsigned Size : 8; /**< UINT */
+ unsigned NrTokens : 8; /**< UINT */
unsigned Padding : 19;
unsigned Extended : 1; /**< BOOL */
};
@@ -107,7 +107,7 @@ enum tgsi_file_type {
struct tgsi_declaration
{
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_DECLARATION */
- unsigned Size : 8; /**< UINT */
+ unsigned NrTokens : 8; /**< UINT */
unsigned File : 4; /**< one of TGSI_FILE_x */
unsigned UsageMask : 4; /**< bitmask of TGSI_WRITEMASK_x flags */
unsigned Interpolate : 4; /**< one of TGSI_INTERPOLATE_x */
@@ -145,7 +145,7 @@ struct tgsi_declaration_semantic
struct tgsi_immediate
{
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_IMMEDIATE */
- unsigned Size : 8; /**< UINT */
+ unsigned NrTokens : 8; /**< UINT */
unsigned DataType : 4; /**< one of TGSI_IMM_x */
unsigned Padding : 15;
unsigned Extended : 1; /**< BOOL */
@@ -442,7 +442,7 @@ struct tgsi_immediate_float32
struct tgsi_instruction
{
unsigned Type : 4; /* TGSI_TOKEN_TYPE_INSTRUCTION */
- unsigned Size : 8; /* UINT */
+ unsigned NrTokens : 8; /* UINT */
unsigned Opcode : 8; /* TGSI_OPCODE_ */
unsigned Saturate : 2; /* TGSI_SAT_ */
unsigned NumDstRegs : 2; /* UINT */
@@ -458,7 +458,7 @@ struct tgsi_instruction
*
* Then, tgsi_instruction::NumSrcRegs of tgsi_src_register follow.
*
- * tgsi_instruction::Size contains the total number of words that make the
+ * tgsi_instruction::NrTokens contains the total number of words that make the
* instruction, including the instruction word.
*/
diff --git a/src/gallium/state_trackers/wgl/icd/stw_icd.c b/src/gallium/state_trackers/wgl/icd/stw_icd.c
index 70e346a539..1aa4b8a6e2 100644
--- a/src/gallium/state_trackers/wgl/icd/stw_icd.c
+++ b/src/gallium/state_trackers/wgl/icd/stw_icd.c
@@ -31,6 +31,7 @@
#include "GL/gl.h"
#include "pipe/p_debug.h"
+#include "pipe/p_thread.h"
#include "shared/stw_public.h"
#include "icd/stw_icd.h"
@@ -41,11 +42,14 @@
struct stw_icd
{
+ pipe_mutex mutex;
+
+ GLCLTPROCTABLE cpt;
+ boolean cpt_initialized;
+
struct {
struct stw_context *ctx;
} ctx_array[DRV_CONTEXT_MAX];
-
- DHGLRC ctx_current;
};
@@ -62,6 +66,8 @@ stw_icd_init( void )
stw_icd = &stw_icd_storage;
memset(stw_icd, 0, sizeof *stw_icd);
+ pipe_mutex_init( stw_icd->mutex );
+
return TRUE;
}
@@ -70,26 +76,35 @@ stw_icd_cleanup(void)
{
int i;
- if(!stw_icd)
+ if (!stw_icd)
return;
+
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ /* Ensure all contexts are destroyed */
+ for (i = 0; i < DRV_CONTEXT_MAX; i++)
+ if (stw_icd->ctx_array[i].ctx)
+ stw_delete_context( stw_icd->ctx_array[i].ctx );
+ }
+ pipe_mutex_unlock( stw_icd->mutex );
- /* Ensure all contexts are destroyed */
- for (i = 0; i < DRV_CONTEXT_MAX; i++)
- if (stw_icd->ctx_array[i].ctx)
- stw_delete_context( stw_icd->ctx_array[i].ctx );
-
+ pipe_mutex_init( stw_icd->mutex );
stw_icd = NULL;
}
static struct stw_context *
-lookup_context( DHGLRC dhglrc )
+lookup_context( struct stw_icd *icd,
+ DHGLRC dhglrc )
{
if (dhglrc == 0 ||
dhglrc >= DRV_CONTEXT_MAX)
return NULL;
- return stw_icd->ctx_array[dhglrc - 1].ctx;
+ if (icd == NULL)
+ return NULL;
+
+ return icd->ctx_array[dhglrc - 1].ctx;
}
BOOL APIENTRY
@@ -98,14 +113,25 @@ DrvCopyContext(
DHGLRC dhrcDest,
UINT fuMask )
{
- struct stw_context *src = lookup_context( dhrcSource );
- struct stw_context *dst = lookup_context( dhrcDest );
-
- if (src == NULL ||
- dst == NULL)
+ BOOL ret = FALSE;
+
+ if (!stw_icd)
return FALSE;
- return stw_copy_context( src, dst, fuMask );
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ struct stw_context *src = lookup_context( stw_icd, dhrcSource );
+ struct stw_context *dst = lookup_context( stw_icd, dhrcDest );
+
+ if (src == NULL || dst == NULL)
+ goto done;
+
+ ret = stw_copy_context( src, dst, fuMask );
+ }
+done:
+ pipe_mutex_unlock( stw_icd->mutex );
+
+ return ret;
}
DHGLRC APIENTRY
@@ -113,23 +139,37 @@ DrvCreateLayerContext(
HDC hdc,
INT iLayerPlane )
{
- DWORD i;
+ DHGLRC handle = 0;
+
+ if (!stw_icd)
+ return handle;
+
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ int i;
+
+ for (i = 0; i < DRV_CONTEXT_MAX; i++) {
+ if (stw_icd->ctx_array[i].ctx == NULL)
+ break;
+ }
- for (i = 0; i < DRV_CONTEXT_MAX; i++) {
- if (stw_icd->ctx_array[i].ctx == NULL)
- goto found_slot;
+ /* No slot available, fail:
+ */
+ if (i == DRV_CONTEXT_MAX)
+ goto done;
+
+ stw_icd->ctx_array[i].ctx = stw_create_context( hdc, iLayerPlane );
+ if (stw_icd->ctx_array[i].ctx == NULL)
+ goto done;
+
+ /* success:
+ */
+ handle = (DHGLRC) i + 1;
}
-
- /* No slot available, fail:
- */
- return 0;
+done:
+ pipe_mutex_unlock( stw_icd->mutex );
-found_slot:
- stw_icd->ctx_array[i].ctx = stw_create_context( hdc, iLayerPlane );
- if (stw_icd->ctx_array[i].ctx == NULL)
- return 0;
-
- return (DHGLRC) i + 1;
+ return handle;
}
DHGLRC APIENTRY
@@ -143,20 +183,30 @@ BOOL APIENTRY
DrvDeleteContext(
DHGLRC dhglrc )
{
- struct stw_context *ctx;
+ BOOL ret = FALSE;
+
+ if (!stw_icd)
+ return ret;
- ctx = lookup_context( dhglrc );
- if (ctx == NULL)
- goto fail;
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ struct stw_context *ctx;
- if (stw_delete_context( ctx ) == FALSE)
- goto fail;
+ ctx = lookup_context( stw_icd, dhglrc );
+ if (ctx == NULL)
+ goto done;
+
+ if (stw_delete_context( ctx ) == FALSE)
+ goto done;
+
+ stw_icd->ctx_array[dhglrc - 1].ctx = NULL;
+ ret = TRUE;
- stw_icd->ctx_array[dhglrc - 1].ctx = NULL;
- return TRUE;
+ }
+done:
+ pipe_mutex_unlock( stw_icd->mutex );
-fail:
- return FALSE;
+ return ret;
}
BOOL APIENTRY
@@ -183,7 +233,7 @@ DrvDescribePixelFormat(
r = stw_pixelformat_describe( hdc, iPixelFormat, cjpfd, ppfd );
- debug_printf( "%s( 0x%p, %d, %u, 0x%p ) = %d\n",
+ debug_printf( "%s( %p, %d, %u, %p ) = %d\n",
__FUNCTION__, hdc, iPixelFormat, cjpfd, ppfd, r );
return r;
@@ -210,7 +260,7 @@ DrvGetProcAddress(
r = stw_get_proc_address( lpszProc );
- debug_printf( "%s( \", __FUNCTION__%s\" ) = 0x%p\n", lpszProc, r );
+ debug_printf( "%s( \", __FUNCTION__%s\" ) = %p\n", lpszProc, r );
return r;
}
@@ -230,23 +280,32 @@ BOOL APIENTRY
DrvReleaseContext(
DHGLRC dhglrc )
{
- struct stw_context *ctx;
+ BOOL ret = FALSE;
- if (dhglrc != stw_icd->ctx_current)
- goto fail;
+ if (!stw_icd)
+ return ret;
- ctx = lookup_context( dhglrc );
- if (ctx == NULL)
- goto fail;
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ struct stw_context *ctx;
- if (stw_make_current( NULL, NULL ) == FALSE)
- goto fail;
+ /* XXX: The expectation is that ctx is the same context which is
+ * current for this thread. We should check that and return False
+ * if not the case.
+ */
+ ctx = lookup_context( stw_icd, dhglrc );
+ if (ctx == NULL)
+ goto done;
- stw_icd->ctx_current = 0;
- return TRUE;
+ if (stw_make_current( NULL, NULL ) == FALSE)
+ goto done;
-fail:
- return FALSE;
+ ret = TRUE;
+ }
+done:
+ pipe_mutex_unlock( stw_icd->mutex );
+
+ return ret;
}
void APIENTRY
@@ -254,36 +313,20 @@ DrvSetCallbackProcs(
INT nProcs,
PROC *pProcs )
{
- debug_printf( "%s( %d, 0x%p )\n", __FUNCTION__, nProcs, pProcs );
+ debug_printf( "%s( %d, %p )\n", __FUNCTION__, nProcs, pProcs );
return;
}
-#define GPA_GL( NAME ) disp->NAME = gl##NAME
-static GLCLTPROCTABLE cpt;
+static void init_proc_table( GLCLTPROCTABLE *cpt )
+{
+ GLDISPATCHTABLE *disp = &cpt->glDispatchTable;
-PGLCLTPROCTABLE APIENTRY
-DrvSetContext(
- HDC hdc,
- DHGLRC dhglrc,
- PFN_SETPROCTABLE pfnSetProcTable )
-{
- struct stw_context *ctx;
- GLDISPATCHTABLE *disp = &cpt.glDispatchTable;
-
- debug_printf( "%s( 0x%p, %u, 0x%p )\n", __FUNCTION__, hdc, dhglrc, pfnSetProcTable );
-
- ctx = lookup_context( dhglrc );
- if (ctx == NULL)
- return NULL;
-
- if (!stw_make_current( hdc, ctx ))
- return NULL;
-
- memset( &cpt, 0, sizeof( cpt ) );
- cpt.cEntries = OPENGL_VERSION_110_ENTRIES;
+ memset( cpt, 0, sizeof *cpt );
+ cpt->cEntries = OPENGL_VERSION_110_ENTRIES;
+#define GPA_GL( NAME ) disp->NAME = gl##NAME
GPA_GL( NewList );
GPA_GL( EndList );
GPA_GL( CallList );
@@ -620,8 +663,46 @@ DrvSetContext(
GPA_GL( TexSubImage2D );
GPA_GL( PopClientAttrib );
GPA_GL( PushClientAttrib );
+}
- return &cpt;
+PGLCLTPROCTABLE APIENTRY
+DrvSetContext(
+ HDC hdc,
+ DHGLRC dhglrc,
+ PFN_SETPROCTABLE pfnSetProcTable )
+{
+ PGLCLTPROCTABLE result = NULL;
+
+ if (!stw_icd)
+ return result;
+
+ pipe_mutex_lock( stw_icd->mutex );
+ {
+ struct stw_context *ctx;
+
+ debug_printf( "%s( 0x%p, %u, 0x%p )\n",
+ __FUNCTION__, hdc, dhglrc, pfnSetProcTable );
+
+ /* Although WGL allows different dispatch entrypoints per
+ */
+ if (!stw_icd->cpt_initialized) {
+ init_proc_table( &stw_icd->cpt );
+ stw_icd->cpt_initialized = TRUE;
+ }
+
+ ctx = lookup_context( stw_icd, dhglrc );
+ if (ctx == NULL)
+ goto done;
+
+ if (!stw_make_current( hdc, ctx ))
+ goto done;
+
+ result = &stw_icd->cpt;
+ }
+done:
+ pipe_mutex_unlock( stw_icd->mutex );
+
+ return result;
}
int APIENTRY
@@ -646,7 +727,7 @@ DrvSetPixelFormat(
r = stw_pixelformat_set( hdc, iPixelFormat );
- debug_printf( "%s( 0x%p, %d ) = %s\n", __FUNCTION__, hdc, iPixelFormat, r ? "TRUE" : "FALSE" );
+ debug_printf( "%s( %p, %d ) = %s\n", __FUNCTION__, hdc, iPixelFormat, r ? "TRUE" : "FALSE" );
return r;
}
@@ -665,7 +746,7 @@ BOOL APIENTRY
DrvSwapBuffers(
HDC hdc )
{
- debug_printf( "%s( 0x%p )\n", __FUNCTION__, hdc );
+ debug_printf( "%s( %p )\n", __FUNCTION__, hdc );
return stw_swap_buffers( hdc );
}
@@ -686,5 +767,7 @@ DrvValidateVersion(
{
debug_printf( "%s( %u )\n", __FUNCTION__, ulVersion );
+ /* TODO: get the expected version from the winsys */
+
return ulVersion == 1;
}
diff --git a/src/gallium/state_trackers/wgl/shared/stw_pixelformat.c b/src/gallium/state_trackers/wgl/shared/stw_pixelformat.c
index 12b5ac6d91..84b7b287b9 100644
--- a/src/gallium/state_trackers/wgl/shared/stw_pixelformat.c
+++ b/src/gallium/state_trackers/wgl/shared/stw_pixelformat.c
@@ -256,6 +256,14 @@ stw_pixelformat_set(
return FALSE;
currentpixelformat = iPixelFormat;
+
+ /* Some applications mistakenly use the undocumented wglSetPixelFormat
+ * function instead of SetPixelFormat, so we call SetPixelFormat here to
+ * avoid opengl32.dll's wglCreateContext to fail */
+ if (GetPixelFormat(hdc) == 0) {
+ SetPixelFormat(hdc, iPixelFormat, NULL);
+ }
+
return TRUE;
}
diff --git a/src/glut/glx/SConscript b/src/glut/glx/SConscript
index cb442ba027..938fec03df 100644
--- a/src/glut/glx/SConscript
+++ b/src/glut/glx/SConscript
@@ -10,7 +10,6 @@ target = 'glut32'
env.Replace(CPPDEFINES = [
'BUILD_GLUT32',
'GLUT_BUILDING_LIB',
- 'MESA',
'NDEBUG',
'GLUT_NO_WARNING_DISABLE',
])
diff --git a/src/glut/glx/glut.def b/src/glut/glx/glut.def
index d5e0e0cf2a..90010815e4 100644
--- a/src/glut/glx/glut.def
+++ b/src/glut/glx/glut.def
@@ -1,9 +1,4 @@
-DESCRIPTION 'OpenGL Utility Toolkit for Win32'
-
-VERSION 3.7
-
EXPORTS
-
glutAddMenuEntry
glutAddSubMenu
glutAttachMenu
@@ -128,4 +123,3 @@ EXPORTS
glutBitmapTimesRoman24
; __glutSetFCB
; __glutGetFCB
-
diff --git a/src/glut/glx/glutint.h b/src/glut/glx/glutint.h
index fe4e038add..ba30af60f0 100644
--- a/src/glut/glx/glutint.h
+++ b/src/glut/glx/glutint.h
@@ -32,10 +32,6 @@
#include <GL/glut.h>
-#if defined(MESA) && defined(_WIN32) && !defined(__CYGWIN32__)
-#include <GL/mesa_wgl.h>
-#endif
-
#ifndef _WIN32
/* added by BrianP: */
#ifndef APIENTRY
@@ -48,24 +44,6 @@
/* GLUT_BUILDING_LIB is used by <GL/glut.h> to 1) not #pragma link
with the GLUT library, and 2) avoid the Win32 atexit hack. */
-/* This must be done after <GL/gl.h> is included. MESA is defined
- if the <GL/gl.h> is supplied by Brian Paul's Mesa library. */
-#if defined(MESA) && defined(_WIN32)
-/* Mesa implements "wgl" versions of GDI entry points needed for
- using OpenGL. Map these "wgl" versions to the GDI names via
- macros. */
-#define ChoosePixelFormat wglChoosePixelFormat
-#define DescribePixelFormat wglDescribePixelFormat
-#define GetPixelFormat wglGetPixelFormat
-#define SetPixelFormat wglSetPixelFormat
-#define SwapBuffers wglSwapBuffers
-#define GetCurrentContext wglGetCurrentContext
-#define GetCurrentDC wglGetCurrentDC
-#define MakeCurrent wglMakeCurrent
-#define CreateContext wglCreateContext
-#define DeleteContext wglDeleteContext
-#endif /* MESA */
-
#ifdef SUPPORT_FORTRAN
#include <GL/glutf90.h>
#endif
@@ -572,27 +550,27 @@ typedef struct {
#ifdef _WIN32
#define MAKE_CURRENT_LAYER(window) \
{ \
- HGLRC currentContext = GetCurrentContext(); \
- HDC currentDc = GetCurrentDC(); \
+ HGLRC currentContext = wglGetCurrentContext(); \
+ HDC currentDc = wglGetCurrentDC(); \
\
if (currentContext != window->renderCtx \
|| currentDc != window->renderDc) { \
- MakeCurrent(window->renderDc, window->renderCtx); \
+ wglMakeCurrent(window->renderDc, window->renderCtx); \
} \
}
#define MAKE_CURRENT_WINDOW(window) \
{ \
- HGLRC currentContext = GetCurrentContext(); \
- HDC currentDc = GetCurrentDC(); \
+ HGLRC currentContext = wglGetCurrentContext(); \
+ HDC currentDc = wglGetCurrentDC(); \
\
if (currentContext != window->ctx || currentDc != window->hdc) { \
- MakeCurrent(window->hdc, window->ctx); \
+ wglMakeCurrent(window->hdc, window->ctx); \
} \
}
#define MAKE_CURRENT_OVERLAY(overlay) \
- MakeCurrent(overlay->hdc, overlay->ctx)
+ wglMakeCurrent(overlay->hdc, overlay->ctx)
#define UNMAKE_CURRENT() \
- MakeCurrent(NULL, NULL)
+ wglMakeCurrent(NULL, NULL)
#define SWAP_BUFFERS_WINDOW(window) \
SwapBuffers(window->hdc)
#define SWAP_BUFFERS_LAYER(window) \
diff --git a/src/glut/glx/win32_glx.c b/src/glut/glx/win32_glx.c
index ecfff44b93..3522e606ec 100644
--- a/src/glut/glx/win32_glx.c
+++ b/src/glut/glx/win32_glx.c
@@ -22,7 +22,7 @@ glXCreateContext(Display * display, XVisualInfo * visinfo,
routine. */
HGLRC context;
- context = CreateContext(XHDC);
+ context = wglCreateContext(XHDC);
#if 0
/* XXX GLUT doesn't support it now, so don't worry about display list
diff --git a/src/mesa/main/texformat_tmp.h b/src/mesa/main/texformat_tmp.h
index 08b6d8f12f..275340cabd 100644
--- a/src/mesa/main/texformat_tmp.h
+++ b/src/mesa/main/texformat_tmp.h
@@ -1223,11 +1223,11 @@ static void store_texel_srgb8(struct gl_texture_image *texImage,
static void FETCH(srgba8)(const struct gl_texture_image *texImage,
GLint i, GLint j, GLint k, GLfloat *texel )
{
- const GLubyte *src = TEXEL_ADDR(GLubyte, texImage, i, j, k, 4);
- texel[RCOMP] = nonlinear_to_linear(src[0]);
- texel[GCOMP] = nonlinear_to_linear(src[1]);
- texel[BCOMP] = nonlinear_to_linear(src[2]);
- texel[ACOMP] = UBYTE_TO_FLOAT(src[3]); /* linear! */
+ const GLuint s = *TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
+ texel[RCOMP] = nonlinear_to_linear( (s >> 24) );
+ texel[GCOMP] = nonlinear_to_linear( (s >> 16) & 0xff );
+ texel[BCOMP] = nonlinear_to_linear( (s >> 8) & 0xff );
+ texel[ACOMP] = UBYTE_TO_FLOAT( (s ) & 0xff ); /* linear! */
}
#if DIM == 3
@@ -1235,11 +1235,8 @@ static void store_texel_srgba8(struct gl_texture_image *texImage,
GLint i, GLint j, GLint k, const void *texel)
{
const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
+ GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
+ *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
}
#endif
@@ -1247,11 +1244,11 @@ static void store_texel_srgba8(struct gl_texture_image *texImage,
static void FETCH(sargb8)(const struct gl_texture_image *texImage,
GLint i, GLint j, GLint k, GLfloat *texel )
{
- const GLubyte *src = TEXEL_ADDR(GLubyte, texImage, i, j, k, 4);
- texel[RCOMP] = nonlinear_to_linear(src[1]);
- texel[GCOMP] = nonlinear_to_linear(src[2]);
- texel[BCOMP] = nonlinear_to_linear(src[3]);
- texel[ACOMP] = UBYTE_TO_FLOAT(src[0]); /* linear! */
+ const GLuint s = *TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
+ texel[RCOMP] = nonlinear_to_linear( (s >> 16) & 0xff );
+ texel[GCOMP] = nonlinear_to_linear( (s >> 8) & 0xff );
+ texel[BCOMP] = nonlinear_to_linear( (s ) & 0xff );
+ texel[ACOMP] = UBYTE_TO_FLOAT( (s >> 24) ); /* linear! */
}
#if DIM == 3
@@ -1259,11 +1256,8 @@ static void store_texel_sargb8(struct gl_texture_image *texImage,
GLint i, GLint j, GLint k, const void *texel)
{
const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 4);
- dst[0] = rgba[ACOMP];
- dst[1] = rgba[RCOMP];
- dst[2] = rgba[GCOMP];
- dst[3] = rgba[BCOMP];
+ GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
+ *dst = PACK_COLOR_8888(rgba[ACOMP], rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
}
#endif
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 2b06796aba..6360ca15f8 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -3699,14 +3699,37 @@ is_srgb_teximage(const struct gl_texture_image *texImage)
case MESA_FORMAT_SARGB8:
case MESA_FORMAT_SL8:
case MESA_FORMAT_SLA8:
+ case MESA_FORMAT_SRGB_DXT1:
+ case MESA_FORMAT_SRGBA_DXT1:
+ case MESA_FORMAT_SRGBA_DXT3:
+ case MESA_FORMAT_SRGBA_DXT5:
return GL_TRUE;
default:
return GL_FALSE;
}
}
-#endif /* FEATURE_EXT_texture_sRGB */
+/**
+ * Convert a float value from linear space to a
+ * non-linear sRGB value in [0, 255].
+ * Not terribly efficient.
+ */
+static INLINE GLfloat
+linear_to_nonlinear(GLfloat cl)
+{
+ /* can't have values outside [0, 1] */
+ GLfloat cs;
+ if (cl < 0.0031308) {
+ cs = 12.92 * cl;
+ }
+ else {
+ cs = 1.055 * _mesa_pow(cl, 0.41666) - 0.055;
+ }
+ return cs;
+}
+
+#endif /* FEATURE_EXT_texture_sRGB */
/**
* This is the software fallback for Driver.GetTexImage().
@@ -3823,16 +3846,34 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
}
#if FEATURE_EXT_texture_sRGB
else if (is_srgb_teximage(texImage)) {
- /* no pixel transfer and no non-linear to linear conversion */
- const GLint comps = texImage->TexFormat->TexelBytes;
- const GLint rowstride = comps * texImage->RowStride;
- MEMCPY(dest,
- (const GLubyte *) texImage->Data + row * rowstride,
- comps * width * sizeof(GLubyte));
- /* FIXME: isn't it necessary to still do component assigning
- according to format/type? */
- /* FIXME: need to do something else for compressed srgb textures
- (currently will return values converted to linear) */
+ /* special case this since need to backconvert values */
+ /* convert row to RGBA format */
+ GLfloat rgba[MAX_WIDTH][4];
+ GLint col;
+ GLbitfield transferOps = 0x0;
+
+ for (col = 0; col < width; col++) {
+ (*texImage->FetchTexelf)(texImage, col, row, img, rgba[col]);
+ if (texImage->TexFormat->BaseFormat == GL_LUMINANCE) {
+ rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]);
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ }
+ else if (texImage->TexFormat->BaseFormat == GL_LUMINANCE_ALPHA) {
+ rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]);
+ rgba[col][GCOMP] = 0.0;
+ rgba[col][BCOMP] = 0.0;
+ }
+ else if (texImage->TexFormat->BaseFormat == GL_RGB ||
+ texImage->TexFormat->BaseFormat == GL_RGBA) {
+ rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]);
+ rgba[col][GCOMP] = linear_to_nonlinear(rgba[col][GCOMP]);
+ rgba[col][BCOMP] = linear_to_nonlinear(rgba[col][BCOMP]);
+ }
+ }
+ _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba,
+ format, type, dest,
+ &ctx->Pack, transferOps /*image xfer ops*/);
}
#endif /* FEATURE_EXT_texture_sRGB */
else {
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index d08229b57a..9279a768c8 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -1417,9 +1417,7 @@ st_finalize_texture(GLcontext *ctx,
stObj->pt->width[0] != firstImage->base.Width2 ||
stObj->pt->height[0] != firstImage->base.Height2 ||
stObj->pt->depth[0] != firstImage->base.Depth2 ||
- stObj->pt->block.size != cpp ||
- stObj->pt->block.width != 1 ||
- stObj->pt->block.height != 1 ||
+ stObj->pt->block.size/stObj->pt->block.width != cpp || /* Nominal bytes per pixel */
stObj->pt->compressed != firstImage->base.IsCompressed) {
pipe_texture_release(&stObj->pt);
ctx->st->dirty.st |= ST_NEW_FRAMEBUFFER;
diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c
index 5b5707fa1c..8b9b18f94d 100644
--- a/src/mesa/state_tracker/st_mesa_to_tgsi.c
+++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c
@@ -188,7 +188,7 @@ make_immediate(const float *value, uint size)
struct tgsi_full_immediate imm;
imm = tgsi_default_full_immediate();
- imm.Immediate.Size += size;
+ imm.Immediate.NrTokens += size;
imm.Immediate.DataType = TGSI_IMM_FLOAT32;
imm.u.Pointer = value;
return imm;