aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/program
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-02-07 23:28:38 +0100
committermarha <marha@users.sourceforge.net>2014-02-07 23:38:15 +0100
commit982ac918afe6a1c02d5cf735d7b6c56443a048cc (patch)
treee737eb3f7bb18d933e14f0967c1c1aa5ce5e06f6 /mesalib/src/mesa/program
parent30af30b78075159fce477ae99cc72540133714d0 (diff)
downloadvcxsrv-982ac918afe6a1c02d5cf735d7b6c56443a048cc.tar.gz
vcxsrv-982ac918afe6a1c02d5cf735d7b6c56443a048cc.tar.bz2
vcxsrv-982ac918afe6a1c02d5cf735d7b6c56443a048cc.zip
xkbcomp xkeyboard-config libxcb libxtrans fontconfig libX11 libxcb mesa xserver git update 7 Feb 2014
Update to openssl1.0.1f xserver commit 83e38eb73fd8c852513aac2da2975b4c01070ec2 libxcb commit d7eb0bdf3b5b11ee9f40ee5e73df8fc0bdfa59f3 xkeyboard-config commit 7596672b96315465df8d8d691e3a567a52f70743 libX11 commit aacf95dacc7c598e7297894580d4d655593813b2 xkbcomp commit 31b90ee4ffc774e0da540277907fc5540c0b012c libxtrans commit 3f0de269abe59353acbd7a5587d68ce0da91db67 fontconfig commit e310d2fac2d874d5aa76c609df70cc7b871c0b6d mesa commit dd2229d4c68ed78a50104637aef904f8ab6d7dd3
Diffstat (limited to 'mesalib/src/mesa/program')
-rw-r--r--mesalib/src/mesa/program/prog_print.c3
-rw-r--r--mesalib/src/mesa/program/program.c20
-rw-r--r--mesalib/src/mesa/program/program.h9
3 files changed, 32 insertions, 0 deletions
diff --git a/mesalib/src/mesa/program/prog_print.c b/mesalib/src/mesa/program/prog_print.c
index 02ba01eca..4a5c1c1fb 100644
--- a/mesalib/src/mesa/program/prog_print.c
+++ b/mesalib/src/mesa/program/prog_print.c
@@ -1021,6 +1021,9 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
case MESA_SHADER_GEOMETRY:
type = "geom";
break;
+ case MESA_SHADER_COMPUTE:
+ type = "comp";
+ break;
}
_mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
diff --git a/mesalib/src/mesa/program/program.c b/mesalib/src/mesa/program/program.c
index ea8eb0d3a..fa80bc58c 100644
--- a/mesalib/src/mesa/program/program.c
+++ b/mesalib/src/mesa/program/program.c
@@ -279,6 +279,21 @@ _mesa_init_vertex_program( struct gl_context *ctx, struct gl_vertex_program *pro
/**
+ * Initialize a new compute program object.
+ */
+struct gl_program *
+_mesa_init_compute_program(struct gl_context *ctx,
+ struct gl_compute_program *prog, GLenum target,
+ GLuint id)
+{
+ if (prog)
+ return _mesa_init_program_struct( ctx, &prog->Base, target, id );
+ else
+ return NULL;
+}
+
+
+/**
* Initialize a new geometry program object.
*/
struct gl_program *
@@ -324,6 +339,11 @@ _mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id)
CALLOC_STRUCT(gl_geometry_program),
target, id);
break;
+ case GL_COMPUTE_PROGRAM_NV:
+ prog = _mesa_init_compute_program(ctx,
+ CALLOC_STRUCT(gl_compute_program),
+ target, id);
+ break;
default:
_mesa_problem(ctx, "bad target in _mesa_new_program");
prog = NULL;
diff --git a/mesalib/src/mesa/program/program.h b/mesalib/src/mesa/program/program.h
index 71b0a4af2..ef698242f 100644
--- a/mesalib/src/mesa/program/program.h
+++ b/mesalib/src/mesa/program/program.h
@@ -84,6 +84,11 @@ _mesa_init_geometry_program(struct gl_context *ctx,
GLenum target, GLuint id);
extern struct gl_program *
+_mesa_init_compute_program(struct gl_context *ctx,
+ struct gl_compute_program *prog,
+ GLenum target, GLuint id);
+
+extern struct gl_program *
_mesa_new_program(struct gl_context *ctx, GLenum target, GLuint id);
extern void
@@ -202,6 +207,8 @@ _mesa_program_enum_to_shader_stage(GLenum v)
return MESA_SHADER_FRAGMENT;
case GL_GEOMETRY_PROGRAM_NV:
return MESA_SHADER_GEOMETRY;
+ case GL_COMPUTE_PROGRAM_NV:
+ return MESA_SHADER_COMPUTE;
default:
ASSERT(0);
return ~0;
@@ -219,6 +226,8 @@ _mesa_shader_stage_to_program(unsigned stage)
return GL_FRAGMENT_PROGRAM_ARB;
case MESA_SHADER_GEOMETRY:
return GL_GEOMETRY_PROGRAM_NV;
+ case MESA_SHADER_COMPUTE:
+ return GL_COMPUTE_PROGRAM_NV;
}
assert(!"Unexpected shader stage in _mesa_shader_stage_to_program");