diff options
author | Michal Krol <mjkrol@gmail.org> | 2006-03-14 11:23:16 +0000 |
---|---|---|
committer | Michal Krol <mjkrol@gmail.org> | 2006-03-14 11:23:16 +0000 |
commit | 8af48fc4d62798dbcc00bcfbbd8bc8f3b47982c7 (patch) | |
tree | d663fe97399b7564f5f8e21b6a3f695c004babc8 /src/mesa/shader/slang/library/slang_fragment_builtin.gc | |
parent | e9484e40858ffd4474571b27136e7ea0f2b682db (diff) |
More GLSL code:
- add texture sampling support;
- fix assembly codegen bugs;
Diffstat (limited to 'src/mesa/shader/slang/library/slang_fragment_builtin.gc')
-rwxr-xr-x | src/mesa/shader/slang/library/slang_fragment_builtin.gc | 63 |
1 files changed, 45 insertions, 18 deletions
diff --git a/src/mesa/shader/slang/library/slang_fragment_builtin.gc b/src/mesa/shader/slang/library/slang_fragment_builtin.gc index 776c96db9b..8b619cd837 100755 --- a/src/mesa/shader/slang/library/slang_fragment_builtin.gc +++ b/src/mesa/shader/slang/library/slang_fragment_builtin.gc @@ -1,8 +1,29 @@ +/*
+ * Mesa 3-D graphics library
+ * Version: 6.5
+ *
+ * Copyright (C) 2006 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
// // TODO: -// - implement texture1D, texture2D, texture3D, textureCube, -// - implement shadow1D, shadow2D, // - implement dFdx, dFdy, // @@ -26,8 +47,9 @@ varying float gl_FogFragCoord; // vec4 texture1D (sampler1D sampler, float coord, float bias) {
- // XXX: - return vec4 (0.0); + vec4 texel;
+ __asm vec4_tex1d texel, sampler, coord, bias;
+ return texel; }
vec4 texture1DProj (sampler1D sampler, vec2 coord, float bias) { @@ -39,8 +61,9 @@ vec4 texture1DProj (sampler1D sampler, vec4 coord, float bias) { } vec4 texture2D (sampler2D sampler, vec2 coord, float bias) {
- // XXX: - return vec4 (0.0); + vec4 texel;
+ __asm vec4_tex2d texel, sampler, coord, bias;
+ return texel; }
vec4 texture2DProj (sampler2D sampler, vec3 coord, float bias) {
@@ -52,8 +75,9 @@ vec4 texture2DProj (sampler2D sampler, vec4 coord, float bias) { } vec4 texture3D (sampler3D sampler, vec3 coord, float bias) {
- // XXX: - return vec4 (0.0); + vec4 texel;
+ __asm vec4_tex3d texel, sampler, coord, bias;
+ return texel; }
vec4 texture3DProj (sampler3D sampler, vec4 coord, float bias) {
@@ -61,22 +85,25 @@ vec4 texture3DProj (sampler3D sampler, vec4 coord, float bias) { } vec4 textureCube (samplerCube sampler, vec3 coord, float bias) {
- // XXX: - return vec4 (0.0); + vec4 texel;
+ __asm vec4_texcube texel, sampler, coord, bias;
+ return texel; } vec4 shadow1D (sampler1DShadow sampler, vec3 coord, float bias) {
- // XXX: - return vec4 (0.0); -}
- -vec4 shadow2D (sampler2DShadow sampler, vec3 coord, float bias) {
- // XXX: - return vec4 (0.0); + vec4 texel;
+ __asm vec4_shad1d texel, sampler, coord, bias;
+ return texel; }
vec4 shadow1DProj (sampler1DShadow sampler, vec4 coord, float bias) {
- return shadow1D (sampler, vec3 (coord.s / coord.q, 0.0, coord.p / coord.q), bias); + return shadow1D (sampler, vec3 (coord.s / coord.q, 0.0, coord.p / coord.q), bias);
+}
+
+vec4 shadow2D (sampler2DShadow sampler, vec3 coord, float bias) {
+ vec4 texel;
+ __asm vec4_shad2d texel, sampler, coord, bias;
+ return texel; }
vec4 shadow2DProj (sampler2DShadow sampler, vec4 coord, float bias) {
|