The 3bgl-shader Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The 3bgl-shader Reference Manual

This is the 3bgl-shader Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Jun 15 03:09:29 2022 GMT+0.

Table of Contents


1 Introduction

3bgl-shader: a Common Lisp DSL for generating GLSL shaders

Features

Minimal Example shader program

Just transform the vertex, and send color to be interpolated. (More examples can be found here.)

;; define a package for the shader functions, :USEing :3BGL-GLSL/CL
(cl:defpackage #:shader
  (:use :3bgl-glsl/cl)
(cl:in-package #:shader)

;; vertex attributes, need to specify types for all 'external'
;; interfaces and globals (inputs, outputs, uniforms, varyings)
(input position :vec4 :location 0)
(input color :vec4 :location 1)

;; final output
(output out-color :vec4 :stage :fragment)

;; model-view-projection matrix
(uniform mvp :mat4)

;; interface between vertex and fragment shader
(interface varyings (:out (:vertex outs)
                     :in (:fragment ins))
  (color :vec4))

;; vertex shader (names are arbitrary)
(defun vertex ()
  (setf (@ outs color) color
        gl-position (* mvp position)))

;; fragment shader
(defun boring-fragment ()
  (setf out-color (@ ins color)))

 ;; not quite CL:defconstant, need to specify a type
(defconstant +scale+ 2.0 :float)
;; a helper function
(defun invert-and-scale (x)
  ;; RETURN is GLSL return rather than CL:RETURN, and is required for
  ;; functions that return a value
  (return (* +scale+ (- 1 x))))

;; an alternate fragment shader
(defun inverted-fragment ()
  (setf out-color (invert-and-scale (@ ins color))))

Convert to glsl

(3bgl-shaders:generate-stage :vertex 'shader::vertex)
(3bgl-shaders:generate-stage :fragment 'shader::boring-fragment)
(3bgl-shaders:generate-stage :fragment 'shader::inverted-fragment)

results:

// vertex shader:
#version 450
out varyings {
  vec4 color;
} outs;

layout(location = 1) in vec4 color;

uniform mat4 mvp;

layout(location = 0) in vec4 position;

void main () {
  outs.color = color;
  gl_Position = (mvp * position);
}

// boring fragment shader:
#version 450
out vec4 outColor;

in varyings {
  vec4 color;
} ins;

void main () {
  outColor = ins.color;
}

// inverted fragment shader
#version 450
out vec4 outColor;

const float SCALE = 2.0;
in varyings {
  vec4 color;
} ins;

vec4 invertAndScale (vec4 x) {
  return (SCALE * (1 - x));
}

void main () {
  outColor = invertAndScale(ins.color);
}

Hooks for interactive use

Programs using 3bgl-shader can add a function to 3bgl-shaders::*modified-function-hook*, which will be called when shader functions are redefined. It will be passed a list of names of updated functions. For example in the shaders above, if the (defconstant +scale+ 2.0 :float) form were recompiled in slime with C-c C-c, the hook functions would be passed the list (SHADER::INVERTED-FRAGMENT SHADER::INVERT-AND-SCALE) since invert-and-scale depends on the constant, and inverted-fragment depends on the function invert-and-scale. The hook function could then see one of the fragment shaders it is using had been modified, and arrange for a running program to try to recompile the shader program next frame.

Current status

The compiler and type inference mostly work, including some fairly complicated shaders.

Built-in functions/types/variables from glsl version 4.50 are available, and older versions might work to the extent they are compatible with the subset of 4.50 used in a particular shader. The type inference doesn't distinguish between versions, so might allow casts that wouldn't be valid in an older version.

Error messages are mostly horrible, so most type inference failures will give incomprehensible errors.

CL style type declarations are allowed and should mostly be respected.

API isn't completely finished, so some parts may change (in particular the base types like :vec3 may be renamed to 3bgl-glsl:vec3 at some point.)

The external API needs more work, in particular some way to query uniforms, inputs, outputs, etc.

Currently no way to translate line/column numbers from glsl error messages back to source.

Performance is acceptable for shaders I've tested it on, but not sure how it scales. It currently WARNs if it takes more than 2000 passes for type inference, which may need adjusted or disabled for larger shaders.

Currently all functions that depend on a function/global will be recompiled when things they depend on are recompiled, which can make changing function signatures or types difficult if they aren't compatible with the uses.

Recompilation may be more aggressive than it needs to be, for example if the value of a constant is changed, it shouldn't need to re-run type inference of functions that use that constant if the type didn't change.

Dependencies on uniforms are sometimes missed, dumping a bare reference to it in main function is a simple workaround.

Misc notes

Concrete types

GLSL types are currently named with keywords (though that may change in the future), like :vec2, :vec3, :vec4, :mat2x4, :sampler-2d-array-shadow etc. see the source for details for now, though most are fairly obvious.

Component swizzles

Components of GLSL vector types like :vec4 can be accessed with 'swizzle' functions like .xyz, so for example glsl someVec.rraa would be (.rraa some-vec). Type inference should correctly use the swizzle to determine minimum size of the vector if not specified.

Structure/interface slots

(@ var slot-name) is a shortcut for (slot-value var 'slot-name), and either will compile to var.slot. GLSL doesn't allow specifying a slot through a variable, so slot name must be a quoted compile-time literal.

RETURN

Functions are required to use RETURN to return values, they will not return the value of the last form as in CL. A function without a RETURN will have a void return type. (return (values)) can also be used to force a void return type, and for early exit from a void function.

Overloaded functions

If a function doesn't have a specific derived or specified type, it can be used with any compatible types, and the generated GLSL will have a version for each type.

For example the previous code could have had


 ;; X can be any type that works with scalar `*` and `-`
(defun invert-and-scale (x)
  (return (* +scale+ (- 1 x))))

(defun inverted-fragment ()
  (setf out-color (+ (invert-and-scale 1) ;; call 'int' version
                     (invert-and-scale (@ ins color))))) ;; call 'vec4' version

which would generate the glsl code

#version 450
out vec4 outColor;

const float SCALE = 2.0;
in varyings {
  vec4 color;
} ins;

// returns a vec4 because the input is vec4
vec4 invertAndScale (vec4 x) {
  return (SCALE * (1 - x));
}

// returns float because SCALE is a float
float invertAndScale (int x) {
  return (SCALE * (1 - x));
}

void main () {
  outColor = (invertAndScale(1) + invertAndScale(ins.color));
}

Type declarations

CL-style type declarations are allowed, and should interact correctly with type inference.

for example

(defun foo (x y)
  (declare (values :float) (:float x))
  (let ((a (+ x y)))
     (declare (:vec2 a))
     (return (.x a))))

specifies that foo returns a float, the first argument is also specified to be float, while the second isn't explicitly restricted. The local variable A is specified to be a vec2, which implicitly restricts Y to also be something that casts to vec2.

(declare (values)) can be used to explicitly specify void return type for a function.

Uniforms, input, output, interface

Uniforms are specified with (UNIFORM name type &key stage location layout qualifiers).
:stage specifies in which shader stages (:vertex,:fragment etc) the uniform is visible (by default the uniform is visible in all stages, though will only be included in generated GLSL for stages in which it is referenced).
:location N is a shortcut for specifying the location layout qualifier.
:layout (...) allows specifying arbitrary layout qualifiers, argument is a plist containing qualifier and value (specify value = t for qualifiers that don't take arguments) :qualifiers (...) allows specifying other qualifiers like restrict, argument is a list of qualifiers.

;; a simple 'int' uniform, location chosen by driver or GL side of API
(uniform flag :int)
;; -> uniform int flag;

;; an image2D uniform, with format, location and `restrict` specified
(uniform tex :image-2d :location 1 :layout (:rg32f t) :qualifiers (:restrict))
;; -> layout(location = 1,rg32f) uniform restrict image2D tex;

;; an atomic counter, with binding and offset specified
(uniform counter :atomic-uint :layout (:binding 0 :offset 0))
;; -> layout(binding = 0,offset = 0) uniform atomic_uint counter;

Inputs and outputs are specified with (INPUT name type &key stage location) and (OUTPUT name type &key stage location) where stage specifies in which shader stages (:vertex,:fragment etc) the input is visible, and location is an integer which will be output as layout(location = 1) in GLSL.

Interfaces between stages are specified as (INTERFACE name (&key in out uniform) &body slots). slots is a list of (slot-name type). in, out and uniform specify how the interface will be visible, and are either T to make it visible to all stages as name, or a plist of stage names and names to use for the interface in that stage.

For example (interface varyings (:out (:vertex outs) :in (:fragment ins :geometry (ins "ins" :*))) ...) will be visible as an output named out in the vertex shader, as an input array named ins in the geometry shader, and as an input named ins in the fragment shader.

name and slot-name in uniform/input/output/interface can either be a symbol which will be automatically converted from lisp-style to glslStyle, or it can be a list of (lisp-name "glslName") to provide an explicit translation.

Running the example programs

Example program uses GLUT and GLU, and expects GLSL version 330. Most lisp dependencies should be available in quicklisp, aside from possibly mathkit.

Load 3bgl-shader-example.asd through ASDF or Quicklisp, then run (3bgl-shader-example:run-example). That should create a window with a spinning teapot, hit 0-5 keys to try the various example shaders.

If that is working, you can open example-shaders.lisp in emacs and edit them and recompile as usual from slime (C-c C-c etc).

Getting names of uniforms/vertex attributes

In addition to generated GLSL source, GENERATE-STAGE returns a list of uniforms as 2nd value, and attributes in 3rd value. Both are in form (lisp-name "glslName" TYPE) for each entry. There isn't currently any dead-code elimination, so listed names may not actually be active in the final shader program.

Macros

DEFMACRO and MACROLET work as in CL code, and expansion runs on host so can use arbitrary CL.

Array variables

There is partial support for arrays, though type inference doesn't work completely correctly on them and local array variables can't be initialized when bound.

Currently, array types are specified as (<base-type> <size>). (CL style array/vector types may be supported at some point in the future)

(defun foo ()
  (let ((a)) ;; can't currently initialize local array variables
    (declare ((:float 8) a)) ;; specify size/base type
    (setf (aref a 1) 1.23) ;; access as in CL
    (return (aref a 1)))

Compute Shaders

Compute shaders work pretty much like other stages, except you can't specify inputs/outputs, and must specify the workgroup size for kernel invocations. The workgroup sizes are specified with the layout declaration on the main kernel entrypoint. Compute shaders also expose a number of constants describing an individual invocation's relationship to the entire run: gl-local-invocation-id, gl-global-invocation-id, gl-work-group-id, gl-num-work-groups, and gl-work-group-size, all :uvec3, and gl-local-invocation-index, an :int.

;; define a kernel that runs in units of 8x8x8 blocks
(defun some-kernel ()
  (declare (layout (:in nil :local-size-x 8 :local-size-y 8 :local-size-z 8)))
  ;; xyz takes values from (uvec3 0 0 0) to (uvec3 7 7 7)
  (let ((xyz (.xyz gl-local-invocation-id)))
    ...))

Shared variables in compute shaders

Compute shader shared variables are defined with SHARED, which takes a name and type (including array types) as arguments

;; define a shared array with 256 :float elements
;; can be accessed with (aref temp x) or (setf (aref temp x) ...) as in CL
(shared temp (:float 256))
;; a shared uint
(shared foo :uint)

Shader Storage Buffer Objects

Limited support for SSBO, use (interface <name> (:buffer t) ...)

;; makes FOO and BAR available in shaders for read/write
;; BAR is an array of mat4, size depends on size of bound buffer
(interface ssbo (:buffer t :layout (:binding 0 :std430 t))
  (foo :vec4)
  (bar (:mat4 :*)))

Structures

Preliminary support for defining structures with |defstruct|, doesn't currently accept any of the extra options from |cl:defstruct|, and slot syntax is |(slot-name type)|.

Can't currently infer type of structs, so need to |declare| them by hand.

;; define a struct with a float, array of 8 int, and arbitrary
;; length array of vec4
(defstruct foo
  (a :float)
  (b (:int 8))
  (c (:vec4 :*)))

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 3bgl-shader

CL-hosted CL-like DSL for generating GLSL

Author

Bart Botta

License

MIT

Dependencies
  • alexandria (system).
  • bordeaux-threads (system).
  • cl-opengl (system).
Source

3bgl-shader.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

3.1.1 3bgl-shader/3bgl-shader.asd

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

ASDF Systems

3bgl-shader.


3.1.2 3bgl-shader/package.lisp

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Packages

3.1.3 3bgl-shader/ir.lisp

Dependency

package.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface

initialize-instance (method).

Internals

3.1.4 3bgl-shader/walker.lisp

Dependency

ir.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.5 3bgl-shader/types.lisp

Dependency

walker.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.6 3bgl-shader/infer.lisp

Dependency

types.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.7 3bgl-shader/glsl-base.lisp

Dependency

infer.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.8 3bgl-shader/cl-functions.lisp

Dependency

glsl-base.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.9 3bgl-shader/glsl.lisp

Dependency

cl-functions.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).


3.1.10 3bgl-shader/finalize-inference.lisp

Dependency

glsl.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.11 3bgl-shader/printer.lisp

Dependency

finalize-inference.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.12 3bgl-shader/compiler.lisp

Dependency

printer.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.13 3bgl-shader/api.lisp

Dependency

compiler.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Public Interface
Internals

3.1.14 3bgl-shader/old-utils.lisp

Dependency

api.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

3.1.15 3bgl-shader/utils.lisp

Dependency

old-utils.lisp (file).

Source

3bgl-shader.asd.

Parent Component

3bgl-shader (system).

Internals

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 3bgl-glsl/cl

Source

package.lisp.

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 3bgl-glsl

Source

package.lisp.

Use List

common-lisp.

Used By List

3bgl-glsl/cl.

Public Interface
Internals

Previous: , Up: Packages   [Contents][Index]

4.3 3bgl-shaders

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.1 Special variables

Special Variable: *default-version*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *modified-function-hook*

list of functions to call when shader functions are
modified. Passed a list of names of functions that have been modified. May be called multiple times for same function if a whole file using the 3bgl-glsl:defun macro is recompiled, so probably should store names and only update shader programs at next frame rather than updating programs directly from hook function.

Package

3bgl-shaders.

Source

api.lisp.


5.1.2 Macros

Macro: attribute (name type &rest args &key location)
Package

3bgl-glsl.

Source

api.lisp.

Macro: bind-interface (stage block-name interface-qualifier instance-name)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defconstant (name value type)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defmacro (name args &body body)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defstruct (name &rest slots)
Package

3bgl-glsl.

Source

api.lisp.

Macro: defun (name args &body body)
Package

3bgl-glsl.

Source

api.lisp.

Macro: glsl-attribute (name type &rest args &key location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-defconstant (name value type)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-defun (name args &body body)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-input (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-interface (name (&rest args &key in out uniform) &body slots)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-output (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: glsl-uniform (name type &rest args &key stage location)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: input (name type &rest args &key stage location qualifiers)
Package

3bgl-glsl.

Source

api.lisp.

Macro: interface (name (&rest args &key in out uniform buffer layout) &body slots)
Package

3bgl-glsl.

Source

api.lisp.

Macro: output (name type &rest args &key stage location qualifiers)
Package

3bgl-glsl.

Source

api.lisp.

Macro: shared (name type &rest args &key stage layout qualifiers &allow-other-keys)
Package

3bgl-glsl.

Source

api.lisp.

Macro: uniform (name type &rest args &key stage location internal layout qualifiers default &allow-other-keys)
Package

3bgl-glsl.

Source

api.lisp.


5.1.3 Ordinary functions

Function: compile-form (form)

Run first passes of compilation on specified form. (Wrap with PROGN to process multiple forms). Calls functions in *MODIFIED-FUNCTION-HOOK* with names of any functions whose definitions are possibly affected by compiling FORM (for example functions that call a function defined/updated by FORM, and the (re)defined function itself).

Package

3bgl-shaders.

Source

api.lisp.

Function: generate-stage (stage main &key backend version extensions expand-uniforms)

Generate GLSL shader for specified STAGE, using function named by MAIN as glsl ’main’ function. ROOT and all functions/variables/etc it depends on should already have been successfully compiled with COMPILE-FORM. STAGE is :VERTEX, :FRAGMENT, :GEOMETRY, :TESS-EVAL, :TESS-CONTROL, or :COMPUTE. VERSION specifies the value of the version pragma in generated shader, but doesn’t otherwise affect generated code currently. Returns a list of active uniforms in the
form (LISP-NAME "glslName" type . PROPERTIES) as second value, and a list of active attributes in same format as third value. (GL shader types like :VERTEX-SHADER are also accepted for STAGE)

For uniforms, PROPERTIES is a plist containing 0 or more of:

:COMPONENTS : (when EXPAND-UNIFORMS is true) for composite uniforms (structs, etc), a list containing a list of uniform name and slot names or array indices for each leaf uniform represented by the type, for example a struct uniform containing an array of structs might have entries that look like (foo bar 1 baz) corresponding to the uniform "foo.bar[1].baz".

Package

3bgl-shaders.

Source

api.lisp.


5.1.4 Generic functions

Generic Reader: stage (object)
Package

3bgl-shaders.

Methods
Reader Method: stage ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

stage.

Generic Writer: (setf stage) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf stage) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

stage.


5.1.5 Standalone methods

Method: initialize-instance :after ((i constant-binding) &key &allow-other-keys)
Source

ir.lisp.

Writer Method: (setf modified) ((generic-type generic-type))

automatically generated writer method

Package

keyword.

Source

types.lisp.

Target Slot

modified.

Reader Method: modified ((generic-type generic-type))

automatically generated reader method

Package

keyword.

Source

types.lisp.

Target Slot

modified.


5.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.1 Special variables

Special Variable: *add-conflict-vars*

if bound, should be a hash of variable names to flag as conflicts when adding variable if value in hash is :CONFLICT.

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *binding-types*
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Special Variable: *bound-program*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *check-conflict-vars*

if bound, should be a hash of variable names to flag as conflicts when looking up variable. Names are flagged by setting value in hash to :CONFLICT.

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *cl-environment*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *compiler-lock*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *copy-constraints-hash*

used to track already copied constraints when copying type inference data

Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function*

current function being compiled if any

Package

3bgl-glsl.

Source

glsl-base.lisp.

Special Variable: *current-function-local-types*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function-return-type*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-function-stages*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *current-shader-stage*
Package

3bgl-shaders.

Source

types.lisp.

Special Variable: *default-backend*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *default-extensions*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *default-recompilation-callback*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *depth*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *environment*

current local environment

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *function-stages*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *global-environment*

current global environment

Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *glsl-base-environment*
Package

3bgl-glsl.

Source

walker.lisp.

Special Variable: *in-expression*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *inference-worklist*
Package

3bgl-shaders.

Source

infer.lisp.

Special Variable: *instantiated-overloads*
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Special Variable: *interface-qualifier-order*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *internal-function-printers*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *known-declarations*
Package

3bgl-shaders.

Source

types.lisp.

Special Variable: *live-variables*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *max-depth*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *new-function-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *new-global-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *new-type-definitions*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *package-environments*
Package

3bgl-shaders.

Source

walker.lisp.

Special Variable: *pprint-glsl*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *print-as-main*
Package

3bgl-shaders.

Source

printer.lisp.

Special Variable: *print-shaders*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *shader-program-hook*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *shader-type->stage*
Package

3bgl-shaders.

Source

api.lisp.

Special Variable: *stage-name-map*
Package

3bgl-shaders.

Source

utils.lisp.

Special Variable: *tree-shaker-current-object*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *tree-shaker-hook*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *tree-shaker-type-hook*
Package

3bgl-shaders.

Source

compiler.lisp.

Special Variable: *verbose*

enable debugging printouts

Package

3bgl-shaders.

Source

walker.lisp.


5.2.2 Macros

Macro: %glsl-compiler-macro (name lambda-list &body body)
Package

3bgl-shaders.

Source

types.lisp.

Macro: %glsl-macro (name lambda-list &body body)
Package

3bgl-shaders.

Source

types.lisp.

Macro: assert-statement ()
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defclmacro (name lambda-list &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: defmethod2 (name (a b) &body body)
Package

3bgl-shaders.

Source

infer.lisp.

Macro: defprint (type (object) &body body)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defprint-binop (op c-op 0-arg 1-arg)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defprinti ((form &rest args) (&optional call) &body body)
Package

3bgl-shaders.

Source

printer.lisp.

Macro: defwalker (walker (form &rest args) &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: glsl-bind-interface (stage block-name interface-qualifier instance-name)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: with-environment-scope (() &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: with-lambda-list-vars ((function) &body body)
Package

3bgl-shaders.

Source

walker.lisp.

Macro: with-package-environment ((&optional symbol) &body body)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Macro: with-program ((program &key error-p) &body body)
Package

3bgl-shaders.

Source

utils.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.3 Ordinary functions

Function: %reload-program (shader-program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: %translate-name (x &key lc-underscore)
Package

3bgl-shaders.

Source

printer.lisp.

Function: add-compiler-macro (name lambda &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-concrete-type (name glsl-name &key env type)
Package

3bgl-shaders.

Source

types.lisp.

Function: add-function (name lambda-list body &key declarations docs env function-type binding)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-function-arguments (function &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-internal-function/full (name lambda-list type &key glsl-name cast)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-internal-function/mat (name lambda-list count return-type &key glsl-name)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-internal-function/s (name lambda-list arg-types return-type &key glsl-name cast)
Package

3bgl-shaders.

Source

cl-functions.lisp.

Function: add-macro (name lambda &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-symbol-macro (name expansion &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-unknown-function (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: add-variable (name init &key env binding type value-type)
Package

3bgl-shaders.

Source

walker.lisp.

Function: bind-interface (stage type interface-qualifier name &key internal glsl-name array layout-qualifier)
Package

3bgl-shaders.

Source

types.lisp.

Function: cache-binding (binding type)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: call-with-package-environment (thunk &key package)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Function: cast-to-boolean (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: check-locked (environment name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: copy-unify-constraints (type unify-type &key cast name)
Package

3bgl-shaders.

Source

infer.lisp.

Function: debug-local-binding-type-data (hash)
Package

3bgl-shaders.

Source

infer.lisp.

Function: debug-type-names (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: default-env (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: ensure-compiled (program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: ensure-package-environment (package)
Package

3bgl-shaders.

Source

walker.lisp.

Function: expand-buffers (buffers)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-extension-keyword (ext)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-optional-arg-type (o-a-t)
Package

3bgl-shaders.

Source

infer.lisp.

Function: expand-structs (structs)
Package

3bgl-shaders.

Source

api.lisp.

Function: expand-uniforms (uniforms expand)
Package

3bgl-shaders.

Source

api.lisp.

Function: filter-progn (x)
Package

3bgl-glsl.

Source

glsl-base.lisp.

Function: finalize-inference (root)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: flag-modified-constraint (constraint)
Package

3bgl-shaders.

Source

infer.lisp.

Function: flag-modified-type (type)
Package

3bgl-shaders.

Source

infer.lisp.

Function: flag-shader (shader-program function)
Package

3bgl-shaders.

Source

utils.lisp.

Function: flatten-function (function argument-types)
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Function: function-signature-changed (fun)
Package

3bgl-shaders.

Source

ir.lisp.

Function: get-compiler-macro-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-compiler-macro-function (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-function-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-macro-function (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-only-hash-key (hash)
Package

3bgl-shaders.

Source

infer.lisp.

Function: get-symbol-macro (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-type-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: get-variable-binding (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: global-env (name)
Package

3bgl-shaders.

Source

walker.lisp.

Function: in/out/uniform/attrib (qualifier %name type &key location internal stage index layout qualifiers default)
Package

3bgl-shaders.

Source

types.lisp.

Function: infer (function)
Package

3bgl-shaders.

Source

infer.lisp.

Function: infer-modified-functions (functions)
Package

3bgl-shaders.

Source

infer.lisp.

Function: lambda-list-vars (lambda-list)
Package

3bgl-shaders.

Source

walker.lisp.

Function: make-&key-expander (lambda-list)
Package

3bgl-shaders.

Source

walker.lisp.

Function: pprint-glsl (form)
Package

3bgl-shaders.

Source

printer.lisp.

Function: print-bindings/ret (name bindings ret)
Package

3bgl-shaders.

Source

infer.lisp.

Function: print-main-layout-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: reload-program (old v f &key errorp verbose geometry version)

compile program from shaders named by V and F, on success, delete program OLD and return new program, otherwise return OLD

Package

3bgl-shaders.

Source

old-utils.lisp.

Function: remove-function (name &key env)
Package

3bgl-shaders.

Source

walker.lisp.

Function: reset-program (shader-program)
Package

3bgl-shaders.

Source

utils.lisp.

Function: run-type-inference ()
Package

3bgl-shaders.

Source

infer.lisp.

Function: set-type (types &key constraint)
Package

3bgl-shaders.

Source

infer.lisp.

Function: shader-program (&rest r &key vertex fragment geometry tess-control tess-evaluation compute &allow-other-keys)
Package

3bgl-shaders.

Source

utils.lisp.

Function: sort-interface-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: topo-sort-dependencies (roots child-function)
Package

3bgl-shaders.

Source

infer.lisp.

Function: translate-interface-qualifiers (q)
Package

3bgl-shaders.

Source

printer.lisp.

Function: tree-shaker (root)
Package

3bgl-shaders.

Source

compiler.lisp.

Function: (setf uniform) (program &rest names-and-indices)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-index (program name)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniform-matrix (program name m)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniform-matrix-2fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-2x3-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-2x4-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3x2-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-3x4-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4x2-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniform-matrix-4x3-fv (location matrices &optional transpose)
Package

3bgl-shaders.

Source

utils.lisp.

Function: uniformf (program name x &optional y z w)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniformfv (program name v)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: uniformi (program name value)
Package

3bgl-shaders.

Source

old-utils.lisp.

Function: update-dependencies (form)
Package

3bgl-shaders.

Source

compiler.lisp.

Function: vector->{} (x)
Package

3bgl-shaders.

Source

printer.lisp.

Function: walk-function-body (walker lambda-list body)
Package

3bgl-shaders.

Source

walker.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

5.2.4 Generic functions

Generic Function: %print (object stream)
Package

3bgl-shaders.

Source

printer.lisp.

Methods
Method: %print ((o constant-binding) *standard-output*)
Method: %print ((o interface-binding) *standard-output*)
Method: %print ((o struct-type) *standard-output*)
Method: %print ((o for-loop) *standard-output*)
Method: %print ((o if-form) *standard-output*)
Method: %print ((o variable-write) *standard-output*)
Method: %print ((o variable-read) *standard-output*)
Method: %print ((o binding-scope) *standard-output*)
Method: %print ((o implicit-progn) *standard-output*)
Method: %print ((o progn-body) *standard-output*)
Method: %print ((o function-call) *standard-output*)
Method: %print ((o global-function) *standard-output*)
Method: %print ((o array-access) *standard-output*)
Method: %print ((o swizzle-access) *standard-output*)
Method: %print ((o slot-access) *standard-output*)
Method: %print ((o binding) *standard-output*)
Method: %print ((o initialized-binding) *standard-output*)
Method: %print ((o array-initialization) *standard-output*)
Method: %print ((o symbol) s)
Method: %print (object stream)
Generic Function: (setf %uniform) (program &rest names-and-indices)
Package

3bgl-shaders.

Methods
Method: (setf %uniform) ((program shader-program) &rest names-and-indices)
Source

utils.lisp.

Generic Function: add-constraint (ctype constraint)
Package

3bgl-shaders.

Methods
Method: add-constraint ((ctype ref-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype optional-arg-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype any-type) constraint)
Source

infer.lisp.

Method: add-constraint ((ctype constrained-type) constraint)
Source

infer.lisp.

Method: add-constraint (ctype constraint)
Source

infer.lisp.

Generic Reader: allow-casts (object)
Package

3bgl-shaders.

Methods
Reader Method: allow-casts ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

allow-casts.

Generic Writer: (setf allow-casts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf allow-casts) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

allow-casts.

Generic Reader: arg-type (object)
Package

3bgl-shaders.

Methods
Reader Method: arg-type ((optional-arg-type optional-arg-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

arg-type.

Generic Writer: (setf arg-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf arg-type) ((optional-arg-type optional-arg-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

arg-type.

Generic Reader: argument-environment (object)
Package

3bgl-shaders.

Methods
Reader Method: argument-environment ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

argument-environment.

Reader Method: argument-environment ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

argument-environment.

Generic Writer: (setf argument-environment) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf argument-environment) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

argument-environment.

Writer Method: (setf argument-environment) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

argument-environment.

Generic Reader: argument-types (object)
Package

3bgl-shaders.

Methods
Reader Method: argument-types ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

argument-types.

Reader Method: argument-types ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

argument-types.

Generic Writer: (setf argument-types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf argument-types) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

argument-types.

Writer Method: (setf argument-types) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

argument-types.

Generic Reader: arguments (object)
Package

3bgl-shaders.

Methods
Reader Method: arguments ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

arguments.

Reader Method: arguments ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

arguments.

Generic Writer: (setf arguments) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf arguments) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

arguments.

Writer Method: (setf arguments) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

arguments.

Generic Reader: array-size (object)
Package

3bgl-shaders.

Methods
Reader Method: array-size ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Reader Method: array-size ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Reader Method: array-size ((array-type array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

array-size.

Generic Writer: (setf array-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf array-size) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Writer Method: (setf array-size) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Writer Method: (setf array-size) ((array-type array-type))

automatically generated writer method

Source

types.lisp.

Target Slot

array-size.

Generic Function: array-suffix (x)
Package

3bgl-shaders.

Methods
Method: array-suffix ((x interface-stage-binding))
Source

printer.lisp.

Method: array-suffix ((x interface-binding))
Source

printer.lisp.

Method: array-suffix ((x array-type))
Source

printer.lisp.

Method: array-suffix (x)
Source

printer.lisp.

Generic Reader: base-type (object)
Package

3bgl-shaders.

Methods
Reader Method: base-type ((same-size-different-base-type-constraint same-size-different-base-type-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

base-type.

Reader Method: base-type ((array-type array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

base-type.

Reader Method: base-type ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

base-type.

Generic Writer: (setf base-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf base-type) ((same-size-different-base-type-constraint same-size-different-base-type-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

base-type.

Writer Method: (setf base-type) ((array-type array-type))

automatically generated writer method

Source

types.lisp.

Target Slot

base-type.

Writer Method: (setf base-type) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

base-type.

Generic Reader: binding (object)
Package

3bgl-shaders.

Methods
Reader Method: binding ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

binding.

Reader Method: binding ((variable-write variable-write))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((variable-read variable-read))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Reader Method: binding ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

binding.

Generic Writer: (setf binding) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf binding) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((variable-write variable-write))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((variable-read variable-read))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Writer Method: (setf binding) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

binding.

Generic Reader: bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings ((bindings bindings))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings.

Generic Writer: (setf bindings) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf bindings) ((bindings bindings))

automatically generated writer method

Source

ir.lisp.

Target Slot

bindings.

Generic Reader: bindings-used-by (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings-used-by ((binding-with-dependencies binding-with-dependencies))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings-used-by.

Generic Reader: bindings-using (object)
Package

3bgl-shaders.

Methods
Reader Method: bindings-using ((binding-with-dependencies binding-with-dependencies))

automatically generated reader method

Source

ir.lisp.

Target Slot

bindings-using.

Generic Reader: body (object)
Package

3bgl-shaders.

Methods
Reader Method: body ((progn-body progn-body))

automatically generated reader method

Source

ir.lisp.

Target Slot

body.

Generic Writer: (setf body) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf body) ((progn-body progn-body))

automatically generated writer method

Source

ir.lisp.

Target Slot

body.

Generic Reader: called-function (object)
Package

3bgl-shaders.

Methods
Reader Method: called-function ((inference-call-site inference-call-site))

automatically generated reader method

Source

infer.lisp.

Target Slot

called-function.

Reader Method: called-function ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

called-function.

Generic Writer: (setf called-function) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf called-function) ((inference-call-site inference-call-site))

automatically generated writer method

Source

infer.lisp.

Target Slot

called-function.

Writer Method: (setf called-function) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

called-function.

Generic Reader: cast-type (object)
Package

3bgl-shaders.

Methods
Reader Method: cast-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

cast-type.

Generic Writer: (setf cast-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf cast-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

cast-type.

Generic Function: check-slot-stages (slot-access)
Package

3bgl-shaders.

Methods
Method: check-slot-stages (slot-access)
Source

compiler.lisp.

Generic Function: check-stages (interface-binding)
Package

3bgl-shaders.

Methods
Method: check-stages (interface-binding)
Source

compiler.lisp.

Generic Reader: compiler-macro-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: compiler-macro-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

compiler-macro-bindings.

Generic Reader: condition-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: condition-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

condition-forms.

Generic Writer: (setf condition-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf condition-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

condition-forms.

Generic Reader: conflicts (object)
Package

3bgl-shaders.

Methods
Reader Method: conflicts ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

conflicts.

Generic Writer: (setf conflicts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf conflicts) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

conflicts.

Generic Reader: constraints (object)
Package

3bgl-shaders.

Methods
Reader Method: constraints ((constrained-type constrained-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

constraints.

Reader Method: constraints ((any-type any-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

constraints.

Generic Writer: (setf constraints) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf constraints) ((constrained-type constrained-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

constraints.

Writer Method: (setf constraints) ((any-type any-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

constraints.

Generic Function: copy-constraints (x)
Package

3bgl-shaders.

Methods
Method: copy-constraints ((type any-type))
Source

infer.lisp.

Method: copy-constraints ((type optional-arg-type))
Source

infer.lisp.

Method: copy-constraints ((type constrained-type))
Source

infer.lisp.

Method: copy-constraints ((type ref-type))
Source

infer.lisp.

Method: copy-constraints ((hash hash-table))
Source

infer.lisp.

Method: copy-constraints ((type null))
Source

infer.lisp.

Method: copy-constraints ((type generic-type))
Source

infer.lisp.

Method: copy-constraints ((constraint same-base-type-different-size-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint same-size-different-base-type-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint cast-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint scalar-type-of-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint same-type-or-scalar-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint global-function-constraint))
Source

infer.lisp.

Method: copy-constraints ((constraint variable-arity-function-application))
Source

infer.lisp.

Method: copy-constraints ((constraint function-application))
Source

infer.lisp.

Method: copy-constraints :around (x)
Source

infer.lisp.

Generic Reader: ctype (object)
Package

3bgl-shaders.

Methods
Reader Method: ctype ((ctype/other-constraint ctype/other-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

ctype.

Generic Writer: (setf ctype) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf ctype) ((ctype/other-constraint ctype/other-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

ctype.

Generic Reader: declarations (object)
Package

3bgl-shaders.

Methods
Reader Method: declarations ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declarations.

Reader Method: declarations ((binding-scope binding-scope))

automatically generated reader method

Source

ir.lisp.

Target Slot

declarations.

Generic Writer: (setf declarations) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf declarations) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declarations.

Writer Method: (setf declarations) ((binding-scope binding-scope))

automatically generated writer method

Source

ir.lisp.

Target Slot

declarations.

Generic Reader: declared-type (object)
Package

3bgl-shaders.

Methods
Reader Method: declared-type ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declared-type.

Reader Method: declared-type ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

declared-type.

Generic Writer: (setf declared-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf declared-type) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declared-type.

Writer Method: (setf declared-type) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

declared-type.

Generic Reader: default (object)
Package

3bgl-shaders.

Methods
Reader Method: default ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

default.

Generic Writer: (setf default) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf default) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

default.

Generic Reader: dirty (object)
Package

3bgl-shaders.

Methods
Reader Method: dirty ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

dirty.

Generic Function: dump-constraint (c)
Package

3bgl-shaders.

Methods
Method: dump-constraint ((c array-access-constraint))
Source

infer.lisp.

Method: dump-constraint ((c scalar-type-of-constraint))
Source

infer.lisp.

Method: dump-constraint ((c same-type-or-scalar-constraint))
Source

infer.lisp.

Method: dump-constraint ((c same-base-type-different-size-constraint))
Source

infer.lisp.

Method: dump-constraint ((c ctype/other-constraint))
Source

infer.lisp.

Method: dump-constraint ((c global-function-constraint))
Source

infer.lisp.

Method: dump-constraint ((c function-application))
Source

infer.lisp.

Method: dump-constraint ((c variable-arity-function-application))
Source

infer.lisp.

Method: dump-constraint ((c cast-constraint))
Source

infer.lisp.

Generic Reader: else-form (object)
Package

3bgl-shaders.

Methods
Reader Method: else-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

else-form.

Generic Writer: (setf else-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf else-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

else-form.

Generic Reader: environment (object)
Package

3bgl-shaders.

Methods
Reader Method: environment ((unknown-function-binding unknown-function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

environment.

Generic Writer: (setf environment) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf environment) ((unknown-function-binding unknown-function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

environment.

Generic Reader: equiv (object)
Package

3bgl-shaders.

Methods
Reader Method: equiv ((ref-type ref-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

equiv.

Generic Writer: (setf equiv) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf equiv) ((ref-type ref-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

equiv.

Generic Function: expand-uniform-slots (prefix b)
Package

3bgl-shaders.

Methods
Method: expand-uniform-slots (prefix (type array-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (type concrete-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (type struct-type))
Source

api.lisp.

Method: expand-uniform-slots (prefix (b binding))
Source

api.lisp.

Generic Reader: expander (object)
Package

3bgl-shaders.

Methods
Reader Method: expander ((macro-definition macro-definition))

automatically generated reader method

Source

ir.lisp.

Target Slot

expander.

Reader Method: expander ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

expander.

Generic Writer: (setf expander) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expander) ((macro-definition macro-definition))

automatically generated writer method

Source

ir.lisp.

Target Slot

expander.

Writer Method: (setf expander) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

expander.

Generic Reader: expansion (object)
Package

3bgl-shaders.

Methods
Reader Method: expansion ((symbol-macro symbol-macro))

automatically generated reader method

Source

ir.lisp.

Target Slot

expansion.

Generic Writer: (setf expansion) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expansion) ((symbol-macro symbol-macro))

automatically generated writer method

Source

ir.lisp.

Target Slot

expansion.

Generic Reader: explicit-casts (object)
Package

3bgl-shaders.

Methods
Reader Method: explicit-casts ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

explicit-casts.

Generic Writer: (setf explicit-casts) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf explicit-casts) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

explicit-casts.

Generic Reader: expression (object)
Package

3bgl-shaders.

Methods
Reader Method: expression ((macro-definition macro-definition))

automatically generated reader method

Source

ir.lisp.

Target Slot

expression.

Generic Writer: (setf expression) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf expression) ((macro-definition macro-definition))

automatically generated writer method

Source

ir.lisp.

Target Slot

expression.

Generic Reader: field (object)
Package

3bgl-shaders.

Methods
Reader Method: field ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

field.

Reader Method: field ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

field.

Generic Writer: (setf field) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf field) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

field.

Writer Method: (setf field) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

field.

Generic Reader: final-binding-type-cache (object)
Package

3bgl-shaders.

Methods
Reader Method: final-binding-type-cache ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

final-binding-type-cache.

Generic Writer: (setf final-binding-type-cache) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf final-binding-type-cache) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

final-binding-type-cache.

Generic Function: flatten-type (type &optional force-type)
Package

3bgl-shaders.

Methods
Method: flatten-type ((type ref-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type struct-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type array-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type constrained-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type any-type) &optional force-type)
Source

finalize-inference.lisp.

Method: flatten-type ((type concrete-type) &optional force-type)
Source

finalize-inference.lisp.

Generic Function: flatten-types (types)
Package

3bgl-shaders.

Methods
Method: flatten-types ((types ctype/other-constraint))
Source

infer.lisp.

Method: flatten-types ((types hash-table))
Source

infer.lisp.

Method: flatten-types ((types cons))
Source

infer.lisp.

Method: flatten-types ((types constrained-type))
Source

infer.lisp.

Method: flatten-types ((types any-type))
Source

infer.lisp.

Method: flatten-types ((types ref-type))
Source

infer.lisp.

Generic Reader: function-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: function-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

function-bindings.

Generic Reader: function-types (object)
Package

3bgl-shaders.

Methods
Reader Method: function-types ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

function-types.

Generic Writer: (setf function-types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf function-types) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

function-types.

Generic Reader: function-types-by-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: function-types-by-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

function-types-by-arity.

Generic Writer: (setf function-types-by-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf function-types-by-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

function-types-by-arity.

Generic Function: generate-output (objects inferred-types backend &key version extensions &allow-other-keys)
Package

3bgl-shaders.

Methods
Method: generate-output (objects inferred-types (backend (eql :glsl)) &key version extensions &allow-other-keys)
Source

api.lisp.

Generic Function: get-concrete-type (type)
Package

3bgl-shaders.

Methods
Method: get-concrete-type ((type constrained-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type any-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type struct-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type concrete-type))
Source

finalize-inference.lisp.

Method: get-concrete-type ((type ref-type))
Source

finalize-inference.lisp.

Generic Function: get-equiv-type (type)
Package

3bgl-shaders.

Methods
Method: get-equiv-type ((type ref-type))
Source

infer.lisp.

Method: get-equiv-type (type)
Source

infer.lisp.

Generic Reader: global-function (object)
Package

3bgl-shaders.

Methods
Reader Method: global-function ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

function.

Generic Writer: (setf global-function) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf global-function) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

function.

Generic Reader: glsl-name (object)
Package

3bgl-shaders.

Methods
Reader Method: glsl-name ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

glsl-name.

Reader Method: glsl-name ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

glsl-name.

Generic Writer: (setf glsl-name) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf glsl-name) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

glsl-name.

Writer Method: (setf glsl-name) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

glsl-name.

Writer Method: (setf glsl-name) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

glsl-name.

Generic Function: implicit-casts-from (object)
Package

3bgl-shaders.

Methods
Method: implicit-casts-from (s)
Source

types.lisp.

Reader Method: implicit-casts-from ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

implicit-casts-from.

Generic Writer: (setf implicit-casts-from) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf implicit-casts-from) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

implicit-casts-from.

Generic Function: implicit-casts-to (object)
Package

3bgl-shaders.

Methods
Method: implicit-casts-to (s)
Source

types.lisp.

Reader Method: implicit-casts-to ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

implicit-casts-to.

Generic Writer: (setf implicit-casts-to) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf implicit-casts-to) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

implicit-casts-to.

Generic Reader: in-type (object)
Package

3bgl-shaders.

Methods
Reader Method: in-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

in-type.

Generic Writer: (setf in-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf in-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

in-type.

Generic Reader: index (object)
Package

3bgl-shaders.

Methods
Reader Method: index ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

index.

Generic Writer: (setf index) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf index) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

index.

Generic Reader: init-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: init-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

init-forms.

Generic Writer: (setf init-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf init-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

init-forms.

Generic Reader: initial-value-form (object)
Package

3bgl-shaders.

Methods
Reader Method: initial-value-form ((initialized-binding initialized-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

initial-value-form.

Generic Writer: (setf initial-value-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf initial-value-form) ((initialized-binding initialized-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

initial-value-form.

Generic Function: integral-type (type)
Package

3bgl-shaders.

Methods
Method: integral-type ((type constrained-type))
Source

printer.lisp.

Method: integral-type ((type concrete-type))
Source

printer.lisp.

Generic Reader: interface-block (object)
Package

3bgl-shaders.

Methods
Reader Method: interface-block ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

interface-block.

Generic Writer: (setf interface-block) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf interface-block) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

interface-block.

Generic Reader: interface-qualifier (object)
Package

3bgl-shaders.

Methods
Reader Method: interface-qualifier ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

interface-qualifier.

Generic Writer: (setf interface-qualifier) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf interface-qualifier) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

interface-qualifier.

Generic Reader: internal (object)
Package

3bgl-shaders.

Methods
Reader Method: internal ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

internal.

Reader Method: internal ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

internal.

Reader Method: internal ((constant-binding constant-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

internal.

Generic Writer: (setf internal) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf internal) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

internal.

Writer Method: (setf internal) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

internal.

Writer Method: (setf internal) ((constant-binding constant-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

internal.

Generic Function: is-type (a b)
Package

3bgl-shaders.

Methods
Method: is-type (b (a null))
Source

infer.lisp.

Method: is-type ((a null) b)
Source

infer.lisp.

Generic Reader: lambda-list (object)
Package

3bgl-shaders.

Methods
Reader Method: lambda-list ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

lambda-list.

Generic Writer: (setf lambda-list) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf lambda-list) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

lambda-list.

Generic Reader: layout-qualifier (object)
Package

3bgl-shaders.

Methods
Reader Method: layout-qualifier ((interface-stage-binding interface-stage-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

layout-qualifier.

Generic Writer: (setf layout-qualifier) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf layout-qualifier) ((interface-stage-binding interface-stage-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

layout-qualifier.

Generic Reader: layout-qualifiers (object)
Package

3bgl-shaders.

Methods
Reader Method: layout-qualifiers ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

layout-qualifiers.

Generic Writer: (setf layout-qualifiers) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf layout-qualifiers) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

layout-qualifiers.

Generic Reader: live-uniforms (object)
Package

3bgl-shaders.

Methods
Reader Method: live-uniforms ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

live-uniforms.

Generic Writer: (setf live-uniforms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf live-uniforms) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

live-uniforms.

Generic Reader: local-binding-type-data (object)
Package

3bgl-shaders.

Methods
Reader Method: local-binding-type-data ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

local-binding-type-data.

Generic Writer: (setf local-binding-type-data) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf local-binding-type-data) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

local-binding-type-data.

Generic Reader: locked (object)
Package

3bgl-shaders.

Methods
Reader Method: locked ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

locked.

Generic Writer: (setf locked) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf locked) ((environment environment))

automatically generated writer method

Source

walker.lisp.

Target Slot

locked.

Generic Reader: max-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: max-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

max-arity.

Generic Writer: (setf max-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf max-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

max-arity.

Generic Reader: min-arity (object)
Package

3bgl-shaders.

Methods
Reader Method: min-arity ((variable-arity-function-application variable-arity-function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-arity.

Generic Writer: (setf min-arity) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf min-arity) ((variable-arity-function-application variable-arity-function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-arity.

Generic Reader: min-size (object)
Package

3bgl-shaders.

Methods
Reader Method: min-size ((array-access-constraint array-access-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-size.

Reader Method: min-size ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

min-size.

Reader Method: min-size ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

min-size.

Generic Writer: (setf min-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf min-size) ((array-access-constraint array-access-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-size.

Writer Method: (setf min-size) ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

min-size.

Writer Method: (setf min-size) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

min-size.

Generic Reader: modified (object)
Package

3bgl-shaders.

Methods
Reader Method: modified ((update-calls update-calls))

automatically generated reader method

Source

compiler.lisp.

Target Slot

modified.

Reader Method: modified ((constraint constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

modified.

Generic Writer: (setf modified) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf modified) ((constraint constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

modified.

Generic Function: name (o)
Package

3bgl-shaders.

Methods
Reader Method: name ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

name.

Reader Method: name ((generic-type generic-type))

automatically generated reader method

Source

types.lisp.

Target Slot

name.

Reader Method: name ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

name.

Method: name ((o function-call))
Source

ir.lisp.

Method: name ((o variable-write))
Source

ir.lisp.

Method: name ((o variable-read))
Source

ir.lisp.

Method: name ((o array-access))
Source

ir.lisp.

Method: name ((o swizzle-access))
Source

ir.lisp.

Method: name ((o slot-access))
Source

ir.lisp.

Reader Method: name ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

name.

Reader Method: name ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

name.

Method: name (o)
Source

ir.lisp.

Generic Writer: (setf name) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf name) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

name.

Writer Method: (setf name) ((generic-type generic-type))

automatically generated writer method

Source

types.lisp.

Target Slot

name.

Writer Method: (setf name) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

name.

Writer Method: (setf name) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

name.

Generic Reader: name-map (object)
Package

3bgl-shaders.

Methods
Reader Method: name-map ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

name-map.

Generic Reader: old-lambda-list (object)
Package

3bgl-shaders.

Methods
Reader Method: old-lambda-list ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

old-lambda-list.

Generic Writer: (setf old-lambda-list) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf old-lambda-list) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

old-lambda-list.

Generic Reader: other-type (object)
Package

3bgl-shaders.

Methods
Reader Method: other-type ((ctype/other-constraint ctype/other-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

other-type.

Generic Writer: (setf other-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf other-type) ((ctype/other-constraint ctype/other-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

other-type.

Generic Reader: out-size (object)
Package

3bgl-shaders.

Methods
Reader Method: out-size ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

out-size.

Generic Writer: (setf out-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf out-size) ((same-base-type-different-size-constraint same-base-type-different-size-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

out-size.

Generic Reader: out-type (object)
Package

3bgl-shaders.

Methods
Reader Method: out-type ((cast-constraint cast-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

out-type.

Generic Writer: (setf out-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf out-type) ((cast-constraint cast-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

out-type.

Generic Reader: parent-scope (object)
Package

3bgl-shaders.

Methods
Reader Method: parent-scope ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

parent-scope.

Generic Function: process-type-declarations-for-scope (scope)
Package

3bgl-shaders.

Methods
Method: process-type-declarations-for-scope (scope)
Source

types.lisp.

Generic Reader: program (object)
Package

3bgl-shaders.

Methods
Reader Method: program ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

program.

Generic Reader: qualifiers (object)
Package

3bgl-shaders.

Methods
Reader Method: qualifiers ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

qualifiers.

Generic Writer: (setf qualifiers) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf qualifiers) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

qualifiers.

Generic Reader: raw-arguments (object)
Package

3bgl-shaders.

Methods
Reader Method: raw-arguments ((array-initialization array-initialization))

automatically generated reader method

Source

ir.lisp.

Target Slot

raw-arguments.

Reader Method: raw-arguments ((function-call function-call))

automatically generated reader method

Source

ir.lisp.

Target Slot

raw-arguments.

Generic Writer: (setf raw-arguments) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf raw-arguments) ((array-initialization array-initialization))

automatically generated writer method

Source

ir.lisp.

Target Slot

raw-arguments.

Writer Method: (setf raw-arguments) ((function-call function-call))

automatically generated writer method

Source

ir.lisp.

Target Slot

raw-arguments.

Generic Reader: recompilation-callbacks (object)
Package

3bgl-shaders.

Methods
Reader Method: recompilation-callbacks ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

recompilation-callbacks.

Generic Writer: (setf recompilation-callbacks) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf recompilation-callbacks) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

recompilation-callbacks.

Generic Reader: return-type (object)
Package

3bgl-shaders.

Methods
Reader Method: return-type ((global-function-constraint global-function-constraint))

automatically generated reader method

Source

infer.lisp.

Target Slot

return-type.

Reader Method: return-type ((function-application function-application))

automatically generated reader method

Source

infer.lisp.

Target Slot

return-type.

Generic Writer: (setf return-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf return-type) ((global-function-constraint global-function-constraint))

automatically generated writer method

Source

infer.lisp.

Target Slot

return-type.

Writer Method: (setf return-type) ((function-application function-application))

automatically generated writer method

Source

infer.lisp.

Target Slot

return-type.

Generic Reader: scalar/vector-set (object)
Package

3bgl-shaders.

Methods
Reader Method: scalar/vector-set ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

scalar/vector-set.

Generic Writer: (setf scalar/vector-set) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf scalar/vector-set) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

scalar/vector-set.

Generic Reader: scalar/vector-size (object)
Package

3bgl-shaders.

Methods
Reader Method: scalar/vector-size ((concrete-type concrete-type))

automatically generated reader method

Source

types.lisp.

Target Slot

scalar/vector-size.

Generic Writer: (setf scalar/vector-size) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf scalar/vector-size) ((concrete-type concrete-type))

automatically generated writer method

Source

types.lisp.

Target Slot

scalar/vector-size.

Generic Reader: ssbos (object)
Package

3bgl-shaders.

Methods
Reader Method: ssbos ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

ssbos.

Generic Function: stage-binding (binding)
Package

3bgl-shaders.

Methods
Method: stage-binding ((binding interface-binding))
Source

types.lisp.

Method: stage-binding (binding)
Source

types.lisp.

Generic Reader: stage-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: stage-bindings ((interface-binding interface-binding))

automatically generated reader method

Source

types.lisp.

Target Slot

stage-bindings.

Generic Writer: (setf stage-bindings) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf stage-bindings) ((interface-binding interface-binding))

automatically generated writer method

Source

types.lisp.

Target Slot

stage-bindings.

Generic Reader: stages (object)
Package

3bgl-shaders.

Methods
Reader Method: stages ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

stages.

Generic Reader: step-forms (object)
Package

3bgl-shaders.

Methods
Reader Method: step-forms ((for-loop for-loop))

automatically generated reader method

Source

ir.lisp.

Target Slot

step-forms.

Generic Writer: (setf step-forms) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf step-forms) ((for-loop for-loop))

automatically generated writer method

Source

ir.lisp.

Target Slot

step-forms.

Generic Reader: structs (object)
Package

3bgl-shaders.

Methods
Reader Method: structs ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

structs.

Generic Reader: test-form (object)
Package

3bgl-shaders.

Methods
Reader Method: test-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

test-form.

Generic Writer: (setf test-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf test-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

test-form.

Generic Reader: then-form (object)
Package

3bgl-shaders.

Methods
Reader Method: then-form ((if-form if-form))

automatically generated reader method

Source

ir.lisp.

Target Slot

then-form.

Generic Writer: (setf then-form) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf then-form) ((if-form if-form))

automatically generated writer method

Source

ir.lisp.

Target Slot

then-form.

Generic Function: translate-name (x)
Package

3bgl-shaders.

Methods
Method: translate-name ((x variable-read))
Source

printer.lisp.

Method: translate-name ((x array-type))
Source

printer.lisp.

Method: translate-name ((x generic-type))
Source

printer.lisp.

Method: translate-name ((x interface-stage-binding))
Source

printer.lisp.

Method: translate-name ((x array-access))
Source

printer.lisp.

Method: translate-name ((x swizzle-access))
Source

printer.lisp.

Method: translate-name ((x slot-access))
Source

printer.lisp.

Method: translate-name ((x function-binding))
Source

printer.lisp.

Method: translate-name ((x binding))
Source

printer.lisp.

Method: translate-name (x)
Source

printer.lisp.

Generic Function: translate-slot-name (x b)
Package

3bgl-shaders.

Methods
Method: translate-slot-name (x (b interface-stage-binding))
Source

printer.lisp.

Method: translate-slot-name (x (b interface-binding))
Source

printer.lisp.

Method: translate-slot-name (x (b array-access))
Source

printer.lisp.

Method: translate-slot-name (x (b variable-read))
Source

printer.lisp.

Method: translate-slot-name (x b)
Source

printer.lisp.

Generic Function: translate-type (type)
Package

3bgl-shaders.

Methods
Method: translate-type ((type struct-type))
Source

printer.lisp.

Method: translate-type ((type array-type))
Source

printer.lisp.

Method: translate-type ((type generic-type))
Source

printer.lisp.

Method: translate-type ((type constrained-type))
Source

printer.lisp.

Method: translate-type ((type concrete-type))
Source

printer.lisp.

Method: translate-type ((type ref-type))
Source

printer.lisp.

Method: translate-type ((type any-type))
Source

printer.lisp.

Method: translate-type (type)
Source

printer.lisp.

Generic Reader: type-inference-state (object)
Package

3bgl-shaders.

Methods
Reader Method: type-inference-state ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

type-inference-state.

Generic Writer: (setf type-inference-state) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf type-inference-state) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

type-inference-state.

Generic Function: types (object)
Package

3bgl-shaders.

Methods
Method: types ((type concrete-type))
Source

infer.lisp.

Reader Method: types ((constrained-type constrained-type))

automatically generated reader method

Source

infer.lisp.

Target Slot

types.

Reader Method: types ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

types.

Generic Writer: (setf types) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf types) ((constrained-type constrained-type))

automatically generated writer method

Source

infer.lisp.

Target Slot

types.

Generic Function: unifiable-types-p (x type)
Package

3bgl-shaders.

Methods
Method: unifiable-types-p (b (a symbol))
Source

infer.lisp.

Method: unifiable-types-p ((a symbol) b)
Source

infer.lisp.

Method: unifiable-types-p ((x constrained-type) (type constrained-type))
Source

infer.lisp.

Method: unifiable-types-p ((a ref-type) (b ref-type))
Source

infer.lisp.

Method: unifiable-types-p (b (a ref-type))
Source

infer.lisp.

Method: unifiable-types-p ((a ref-type) b)
Source

infer.lisp.

Method: unifiable-types-p ((b constrained-type) (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((a generic-type) (b constrained-type))
Source

infer.lisp.

Method: unifiable-types-p ((b generic-type) (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p (b (a generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((a generic-type) b)
Source

infer.lisp.

Method: unifiable-types-p (b (a any-type))
Source

infer.lisp.

Method: unifiable-types-p ((a any-type) b)
Source

infer.lisp.

Method: unifiable-types-p ((b generic-type) (a null))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b generic-type))
Source

infer.lisp.

Method: unifiable-types-p ((b any-type) (a null))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b any-type))
Source

infer.lisp.

Method: unifiable-types-p ((a null) (b null))
Source

infer.lisp.

Method: unifiable-types-p (x type)
Source

infer.lisp.

Generic Function: uniform (object &rest names-and-indices)
Package

3bgl-shaders.

Source

utils.lisp.

Methods
Method: uniform ((program shader-program) &rest names-and-indices)
Generic Reader: uniforms (object)
Package

3bgl-shaders.

Methods
Reader Method: uniforms ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

uniforms.

Generic Function: unify (a b)
Package

3bgl-shaders.

Methods
Method: unify (b (a ref-type))
Source

infer.lisp.

Method: unify ((a ref-type) b)
Source

infer.lisp.

Method: unify ((b null) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b null))
Source

infer.lisp.

Method: unify ((b any-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b any-type))
Source

infer.lisp.

Method: unify ((b struct-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b struct-type))
Source

infer.lisp.

Method: unify ((b array-initialization) (a array-type))
Source

infer.lisp.

Method: unify ((a array-type) (b array-initialization))
Source

infer.lisp.

Method: unify ((b array-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b array-type))
Source

infer.lisp.

Method: unify ((b concrete-type) (a any-type))
Source

infer.lisp.

Method: unify ((a any-type) (b concrete-type))
Source

infer.lisp.

Method: unify ((b concrete-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b concrete-type))
Source

infer.lisp.

Method: unify ((b generic-type) (a constrained-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b generic-type))
Source

infer.lisp.

Method: unify ((a constrained-type) (b constrained-type))
Source

infer.lisp.

Method: unify ((a any-type) (b any-type))
Source

infer.lisp.

Method: unify (a b)
Source

infer.lisp.

Generic Function: update-constraint (constraint)
Package

3bgl-shaders.

Methods
Method: update-constraint ((constraint same-base-type-different-size-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint same-size-different-base-type-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint scalar-type-of-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint same-type-or-scalar-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint cast-constraint))
Source

infer.lisp.

Method: update-constraint ((constraint function-application))
Source

infer.lisp.

Method: update-constraint ((constraint variable-arity-function-application))
Source

infer.lisp.

Generic Function: use-program (program)
Package

3bgl-shaders.

Methods
Method: use-program ((program shader-program))
Source

utils.lisp.

Generic Reader: valid-stages (object)
Package

3bgl-shaders.

Methods
Reader Method: valid-stages ((function-binding-function function-binding-function))

automatically generated reader method

Source

ir.lisp.

Target Slot

valid-stages.

Generic Writer: (setf valid-stages) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf valid-stages) ((function-binding-function function-binding-function))

automatically generated writer method

Source

ir.lisp.

Target Slot

valid-stages.

Generic Reader: value (object)
Package

3bgl-shaders.

Methods
Reader Method: value ((variable-write variable-write))

automatically generated reader method

Source

ir.lisp.

Target Slot

value.

Generic Writer: (setf value) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf value) ((variable-write variable-write))

automatically generated writer method

Source

ir.lisp.

Target Slot

value.

Generic Function: value-type (object)
Package

3bgl-shaders.

Methods
Method: value-type ((binding interface-stage-binding))
Source

types.lisp.

Method: value-type ((binding generic-type))
Source

types.lisp.

Method: value-type ((binding interface-binding))
Source

types.lisp.

Method: value-type ((o variable-read))
Source

ir.lisp.

Reader Method: value-type ((array-access array-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((swizzle-access swizzle-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((slot-access slot-access))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((function-binding function-binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Reader Method: value-type ((binding binding))

automatically generated reader method

Source

ir.lisp.

Target Slot

value-type.

Generic Writer: (setf value-type) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf value-type) ((array-access array-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((swizzle-access swizzle-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((slot-access slot-access))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((function-binding function-binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Writer Method: (setf value-type) ((binding binding))

automatically generated writer method

Source

ir.lisp.

Target Slot

value-type.

Generic Reader: variable-bindings (object)
Package

3bgl-shaders.

Methods
Reader Method: variable-bindings ((environment environment))

automatically generated reader method

Source

walker.lisp.

Target Slot

variable-bindings.

Generic Reader: version (object)
Package

3bgl-shaders.

Methods
Reader Method: version ((shader-program shader-program))

automatically generated reader method

Source

utils.lisp.

Target Slot

version.

Generic Writer: (setf version) (object)
Package

3bgl-shaders.

Methods
Writer Method: (setf version) ((shader-program shader-program))

automatically generated writer method

Source

utils.lisp.

Target Slot

version.

Generic Function: walk (form walker)
Package

3bgl-shaders.

Source

walker.lisp.

Methods
Method: walk ((form function-call) (walker update-calls))
Source

compiler.lisp.

Method: walk ((form for-loop) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form array-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form struct-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form interface-stage-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form interface-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form constant-binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form binding) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form local-variable) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form swizzle-access) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form variable-write) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form variable-read) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form slot-access) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form concrete-type) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form (eql :*)) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form (eql t)) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form function-call) (walker tree-shaker))
Source

compiler.lisp.

Method: walk ((form cons) (walker tree-shaker))
Source

compiler.lisp.

Method: walk :around (form (walker extract-functions))
Source

compiler.lisp.

Method: walk (form (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk (form (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form global-function) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form binding-scope) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form implicit-progn) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form explicit-progn) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form float) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form integer) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form function-argument) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form constant-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form interface-stage-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form interface-binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form binding) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form array-type) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form local-variable) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form variable-write) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form variable-read) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form function-call) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form slot-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form array-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form swizzle-access) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form for-loop) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk ((form if-form) (walker infer-build-constraints))
Source

infer.lisp.

Method: walk :around (form walker)
Method: walk (form (walker cl-walker))
Method: walk ((form cons) walker)
Method: walk (form walker)
Method: walk ((form if-form) walker)
Source

ir.lisp.

Method: walk ((form variable-write) walker)
Source

ir.lisp.

Method: walk ((form variable-read) walker)
Source

ir.lisp.

Method: walk ((form slot-access) walker)
Source

ir.lisp.

Method: walk ((form array-access) walker)
Source

ir.lisp.

Method: walk ((form bindings) walker)
Source

ir.lisp.

Method: walk ((form progn-body) walker)
Source

ir.lisp.

Method: walk ((form function-call) walker)
Source

ir.lisp.

Method: walk ((form array-initialization) walker)
Source

ir.lisp.

Method: walk ((form initialized-binding) walker)
Source

ir.lisp.

Generic Function: walk-cons (car cdr walker)
Package

3bgl-shaders.

Source

walker.lisp.

Methods
Method: walk-cons ((car0 (eql defstruct)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car720 (eql 3bgl-glsl:bind-interface)) cdr721 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car630 (eql 3bgl-glsl:output)) cdr631 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car540 (eql 3bgl-glsl:input)) cdr541 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car450 (eql 3bgl-glsl:uniform)) cdr451 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car360 (eql 3bgl-glsl:attribute)) cdr361 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car270 (eql 3bgl-glsl::%defconstant)) cdr271 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car180 (eql 3bgl-glsl:defconstant)) cdr181 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car90 (eql defparameter)) cdr91 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car0 (eql defconstant)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons ((car0 (eql defun)) cdr1 (walker extract-functions))
Source

compiler.lisp.

Method: walk-cons (car cdr (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql 3bgl-glsl::%for)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql if)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql setq)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql progn)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql let*)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql let)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql 3bgl-glsl::%defconstant)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql defconstant)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons ((car0 (eql defparameter)) cdr1 (walker glsl-walker))
Source

glsl-base.lisp.

Method: walk-cons :around (car cdr walker)
Method: walk-cons (car cdr (walker cl-walker))
Method: walk-cons ((car0 (eql labels)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql flet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql let*)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql let)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql quote)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql progv)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql unwind-protect)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql multiple-value-prog1)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql multiple-value-call)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql function)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql go)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql tagbody)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql macrolet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql symbol-macrolet)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql locally)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql eval-when)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql setq)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql load-time-value)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql throw)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql catch)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql return-from)) cdr1 (walker cl-walker))
Method: walk-cons ((car0 (eql block)) cdr1 (walker cl-walker))
Method: walk-cons (car cdr walker)

Next: , Previous: , Up: Internals   [Contents][Index]

5.2.5 Conditions

Condition: incomplete-dependent
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

inference-failure.

Condition: inference-failure
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

condition.

Direct subclasses

incomplete-dependent.


Previous: , Up: Internals   [Contents][Index]

5.2.6 Classes

Class: aggregate-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct subclasses
Class: any-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: constraints
Initform

(make-hash-table)

Initargs

:constraints

Readers

constraints.

Writers

(setf constraints).

Class: array-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: index
Initargs

:index

Readers

index.

Writers

(setf index).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: array-access-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Class: array-initialization
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

array-type.

Direct methods
Direct slots
Slot: arguments
Initargs

:arguments

Readers

arguments.

Writers

(setf arguments).

Slot: raw-arguments
Initargs

:raw-arguments

Readers

raw-arguments.

Writers

(setf raw-arguments).

Slot: argument-environment
Initargs

:argument-environment

Readers

argument-environment.

Writers

(setf argument-environment).

Class: array-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

generic-type.

Direct subclasses

array-initialization.

Direct methods
Direct slots
Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Class: binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: value-type
Initform

t

Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Slot: allow-casts
Initform

t

Initargs

:allow-casts

Readers

allow-casts.

Writers

(setf allow-casts).

Slot: declared-type
Initform

t

Initargs

:declared-type

Readers

declared-type.

Writers

(setf declared-type).

Slot: qualifiers
Readers

qualifiers.

Writers

(setf qualifiers).

Slot: conflicts
Readers

conflicts.

Writers

(setf conflicts).

Class: binding-scope
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: declarations
Initargs

:declarations

Readers

declarations.

Writers

(setf declarations).

Class: binding-with-dependencies
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: bindings-used-by
Initform

(make-hash-table)

Readers

bindings-used-by.

Writers

This slot is read-only.

Slot: bindings-using
Initform

(make-hash-table)

Readers

bindings-using.

Writers

This slot is read-only.

Class: bindings
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: bindings
Initargs

:bindings

Readers

bindings.

Writers

(setf bindings).

Class: builtin-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Class: cast-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: cast-type
Initform

:implicit

Initargs

:cast-type

Readers

cast-type.

Writers

(setf cast-type).

Slot: in-type
Initargs

:in

Readers

in-type.

Writers

(setf in-type).

Slot: out-type
Initargs

:out

Readers

out-type.

Writers

(setf out-type).

Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Class: cl-walker
Package

3bgl-shaders.

Source

walker.lisp.

Direct superclasses

walker.

Direct subclasses

glsl-walker.

Direct methods
Class: concrete-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

generic-type.

Direct methods
Direct slots
Slot: implicit-casts-to
Initargs

:casts-to

Readers

implicit-casts-to.

Writers

(setf implicit-casts-to).

Slot: implicit-casts-from
Initargs

:casts-from

Readers

implicit-casts-from.

Writers

(setf implicit-casts-from).

Slot: explicit-casts
Initargs

:explicit-casts

Readers

explicit-casts.

Writers

(setf explicit-casts).

Slot: scalar/vector-size
Initargs

:scalar/vector-size

Readers

scalar/vector-size.

Writers

(setf scalar/vector-size).

Slot: scalar/vector-set
Initargs

:scalar/vector-set

Readers

scalar/vector-set.

Writers

(setf scalar/vector-set).

Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Class: constant-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: internal
Readers

internal.

Writers

(setf internal).

Class: constrained-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: types
Initform

(make-hash-table)

Initargs

:types

Readers

types.

Writers

(setf types).

Slot: constraints
Initform

(make-hash-table)

Initargs

:constraints

Readers

constraints.

Writers

(setf constraints).

Class: constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: modified
Readers

modified.

Writers

(setf modified).

Class: ctype/other-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct subclasses
Direct methods
Direct slots
Slot: ctype
Initargs

:ctype

Readers

ctype.

Writers

(setf ctype).

Slot: other-type
Initargs

:other-type

Readers

other-type.

Writers

(setf other-type).

Class: environment
Package

3bgl-shaders.

Source

walker.lisp.

Direct methods
Direct slots
Slot: parent-scope
Initargs

:parent

Readers

parent-scope.

Writers

This slot is read-only.

Slot: function-bindings
Initform

(make-hash-table)

Readers

function-bindings.

Writers

This slot is read-only.

Slot: compiler-macro-bindings
Initform

(make-hash-table)

Readers

compiler-macro-bindings.

Writers

This slot is read-only.

Slot: variable-bindings
Initform

(make-hash-table)

Readers

variable-bindings.

Writers

This slot is read-only.

Slot: types
Initform

(make-hash-table)

Readers

types.

Writers

This slot is read-only.

Slot: locked
Readers

locked.

Writers

(setf locked).

Slot: name
Initargs

:name

Readers

name.

Writers

This slot is read-only.

Class: explicit-progn
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

progn-body.

Direct methods

walk.

Class: extract-functions
Package

3bgl-shaders.

Source

compiler.lisp.

Direct superclasses

glsl-walker.

Direct methods
Class: finalize
Package

3bgl-shaders.

Source

finalize-inference.lisp.

Direct superclasses

glsl-walker.

Class: for-loop
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

implicit-progn.

Direct methods
Direct slots
Slot: init-forms
Initargs

:init

Readers

init-forms.

Writers

(setf init-forms).

Slot: condition-forms
Initargs

:while

Readers

condition-forms.

Writers

(setf condition-forms).

Slot: step-forms
Initargs

:step

Readers

step-forms.

Writers

(setf step-forms).

Class: function-application
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct subclasses

variable-arity-function-application.

Direct methods
Direct slots
Slot: argument-types
Readers

argument-types.

Writers

(setf argument-types).

Slot: return-type
Initargs

:return-type

Readers

return-type.

Writers

(setf return-type).

Slot: function-types
Initargs

:function-types

Readers

function-types.

Writers

(setf function-types).

Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Class: function-argument
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

local-variable.

Direct methods

walk.

Class: function-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: declarations
Initargs

:declarations

Readers

declarations.

Writers

(setf declarations).

Slot: docs
Initargs

:docs

Slot: value-type
Initform

t

Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Slot: declared-type
Initform

t

Initargs

:declared-type

Readers

declared-type.

Writers

(setf declared-type).

Class: function-binding-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: type-inference-state
Initargs

:type-inference-state

Readers

type-inference-state.

Writers

(setf type-inference-state).

Slot: valid-stages
Initform

t

Readers

valid-stages.

Writers

(setf valid-stages).

Slot: local-binding-type-data
Initform

(make-hash-table)

Readers

local-binding-type-data.

Writers

(setf local-binding-type-data).

Slot: final-binding-type-cache
Initform

(make-hash-table :test (quote equal))

Readers

final-binding-type-cache.

Writers

(setf final-binding-type-cache).

Slot: lambda-list
Initargs

:lambda-list

Readers

lambda-list.

Writers

(setf lambda-list).

Slot: old-lambda-list
Initform

t

Readers

old-lambda-list.

Writers

(setf old-lambda-list).

Slot: expander
Initform

(function identity)

Initargs

:expander

Readers

expander.

Writers

(setf expander).

Slot: layout-qualifiers
Initform

(make-hash-table)

Readers

layout-qualifiers.

Writers

(setf layout-qualifiers).

Class: function-call
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: called-function
Initargs

:function

Readers

called-function.

Writers

(setf called-function).

Slot: arguments
Initargs

:arguments

Readers

arguments.

Writers

(setf arguments).

Slot: raw-arguments
Initargs

:raw-arguments

Readers

raw-arguments.

Writers

(setf raw-arguments).

Slot: argument-environment
Initargs

:argument-environment

Readers

argument-environment.

Writers

(setf argument-environment).

Class: generic-type
Package

3bgl-shaders.

Source

types.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: glsl-name
Initargs

:glsl-name

Readers

glsl-name.

Writers

(setf glsl-name).

Slot: internal
Initargs

:internal

Readers

internal.

Writers

(setf internal).

Slot: modified
Readers

modified.

Writers

(setf modified).

Class: global-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Class: global-function-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: function
Package

common-lisp.

Initargs

:function

Readers

global-function.

Writers

(setf global-function).

Slot: argument-types
Readers

argument-types.

Writers

(setf argument-types).

Slot: return-type
Initargs

:return-type

Readers

return-type.

Writers

(setf return-type).

Class: global-variable
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Class: glsl-walker
Package

3bgl-glsl.

Source

glsl-base.lisp.

Direct superclasses

cl-walker.

Direct subclasses
Direct methods
Class: if-form
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: test-form
Initargs

:test

Readers

test-form.

Writers

(setf test-form).

Slot: then-form
Initargs

:then

Readers

then-form.

Writers

(setf then-form).

Slot: else-form
Initargs

:else

Readers

else-form.

Writers

(setf else-form).

Class: implicit-progn
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

progn-body.

Direct subclasses
Direct methods
Class: infer-build-constraints
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

glsl-walker.

Direct methods
Class: inference-call-site
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: called-function
Initargs

:called-function

Readers

called-function.

Writers

(setf called-function).

Class: initialized-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

binding.

Direct subclasses
Direct methods
Direct slots
Slot: initial-value-form
Initargs

:init

Readers

initial-value-form.

Writers

(setf initial-value-form).

Class: interface-binding
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: stage-bindings
Initargs

:stage-bindings

Readers

stage-bindings.

Writers

(setf stage-bindings).

Slot: internal
Initargs

:internal

Readers

internal.

Writers

(setf internal).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Class: interface-stage-binding
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: stage
Initargs

:stage

Readers

stage.

Writers

(setf stage).

Slot: interface-qualifier
Initargs

:interface-qualifier

Readers

interface-qualifier.

Writers

(setf interface-qualifier).

Slot: layout-qualifier
Initargs

:layout-qualifier

Readers

layout-qualifier.

Writers

(setf layout-qualifier).

Slot: interface-block
Initargs

:interface-block

Readers

interface-block.

Writers

(setf interface-block).

Slot: array-size
Initargs

:array-size

Readers

array-size.

Writers

(setf array-size).

Slot: default
Initargs

:default

Readers

default.

Writers

(setf default).

Class: interface-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses

aggregate-type.

Class: internal-function
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct Default Initargs
InitargValue
:type-inference-statet
Class: local-variable
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

variable-binding.

Direct subclasses

function-argument.

Direct methods
Class: macro-definition
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

function-binding.

Direct methods
Direct slots
Slot: expression
Initargs

:expression

Readers

expression.

Writers

(setf expression).

Slot: expander
Readers

expander.

Writers

(setf expander).

Class: optional-arg-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: arg-type
Initargs

:arg-type

Readers

arg-type.

Writers

(setf arg-type).

Class: place
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Class: progn-body
Package

3bgl-shaders.

Source

ir.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: body
Initargs

:body

Readers

body.

Writers

(setf body).

Class: ref-type
Package

3bgl-shaders.

Source

infer.lisp.

Direct methods
Direct slots
Slot: equiv
Initargs

:equiv

Readers

equiv.

Writers

(setf equiv).

Class: same-base-type-different-size-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: out-size
Initargs

:out-size

Readers

out-size.

Writers

(setf out-size).

Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Class: same-size-different-base-type-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Direct slots
Slot: base-type
Initargs

:base-type

Readers

base-type.

Writers

(setf base-type).

Class: same-type-or-scalar-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Class: scalar-type-of-constraint
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

ctype/other-constraint.

Direct methods
Class: shader-program
Package

3bgl-shaders.

Source

utils.lisp.

Direct methods
Direct slots
Slot: program
Readers

program.

Writers

This slot is read-only.

Slot: stages
Initform

(make-hash-table)

Readers

stages.

Writers

This slot is read-only.

Slot: dirty
Initform

(make-hash-table)

Readers

dirty.

Writers

This slot is read-only.

Slot: uniforms
Initform

(make-hash-table)

Readers

uniforms.

Writers

This slot is read-only.

Slot: ssbos
Initform

(make-hash-table)

Readers

ssbos.

Writers

This slot is read-only.

Slot: structs
Initform

(make-hash-table)

Readers

structs.

Writers

This slot is read-only.

Slot: live-uniforms
Readers

live-uniforms.

Writers

(setf live-uniforms).

Slot: name-map
Initform

(make-hash-table :test (quote equal))

Readers

name-map.

Writers

This slot is read-only.

Slot: version
Initform

3bgl-shaders:*default-version*

Initargs

:version

Readers

version.

Writers

(setf version).

Slot: recompilation-callbacks
Initform

3bgl-shaders::*default-recompilation-callback*

Readers

recompilation-callbacks.

Writers

(setf recompilation-callbacks).

Class: slot-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: field
Initargs

:field

Readers

field.

Writers

(setf field).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: struct-type
Package

3bgl-shaders.

Source

types.lisp.

Direct superclasses
Direct methods
Class: swizzle-access
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: field
Initargs

:field

Readers

field.

Writers

(setf field).

Slot: min-size
Initargs

:min-size

Readers

min-size.

Writers

(setf min-size).

Slot: value-type
Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Class: symbol-macro
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

binding.

Direct methods
Direct slots
Slot: expansion
Initargs

:expansion

Readers

expansion.

Writers

(setf expansion).

Class: tree-shaker
Package

3bgl-shaders.

Source

compiler.lisp.

Direct methods
Class: unknown-function-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: environment
Initargs

:environment

Readers

environment.

Writers

(setf environment).

Class: update-calls
Package

3bgl-shaders.

Source

compiler.lisp.

Direct superclasses

glsl-walker.

Direct methods
Direct slots
Slot: modified
Initargs

:modified

Readers

modified.

Writers

This slot is read-only.

Class: variable-arity-function-application
Package

3bgl-shaders.

Source

infer.lisp.

Direct superclasses

function-application.

Direct methods
Direct slots
Slot: min-arity
Initform

0

Initargs

:min-arity

Readers

min-arity.

Writers

(setf min-arity).

Slot: max-arity
Initform

0

Initargs

:max-arity

Readers

max-arity.

Writers

(setf max-arity).

Slot: function-types-by-arity
Initargs

:function-types-by-arity

Readers

function-types-by-arity.

Writers

(setf function-types-by-arity).

Class: variable-binding
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

initialized-binding.

Direct subclasses
Class: variable-read
Package

3bgl-shaders.

Source

ir.lisp.

Direct superclasses

place.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Class: variable-write
Package

3bgl-shaders.

Source

ir.lisp.

Direct methods
Direct slots
Slot: binding
Initargs

:binding

Readers

binding.

Writers

(setf binding).

Slot: value
Initargs

:value

Readers

value.

Writers

(setf value).

Class: walker
Package

3bgl-shaders.

Source

walker.lisp.

Direct subclasses

cl-walker.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   L   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%glsl-compiler-macro: Private macros
%glsl-macro: Private macros
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%print: Private generic functions
%reload-program: Private ordinary functions
%translate-name: Private ordinary functions

(
(setf %uniform): Private generic functions
(setf %uniform): Private generic functions
(setf allow-casts): Private generic functions
(setf allow-casts): Private generic functions
(setf arg-type): Private generic functions
(setf arg-type): Private generic functions
(setf argument-environment): Private generic functions
(setf argument-environment): Private generic functions
(setf argument-environment): Private generic functions
(setf argument-types): Private generic functions
(setf argument-types): Private generic functions
(setf argument-types): Private generic functions
(setf arguments): Private generic functions
(setf arguments): Private generic functions
(setf arguments): Private generic functions
(setf array-size): Private generic functions
(setf array-size): Private generic functions
(setf array-size): Private generic functions
(setf array-size): Private generic functions
(setf base-type): Private generic functions
(setf base-type): Private generic functions
(setf base-type): Private generic functions
(setf base-type): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf binding): Private generic functions
(setf bindings): Private generic functions
(setf bindings): Private generic functions
(setf body): Private generic functions
(setf body): Private generic functions
(setf called-function): Private generic functions
(setf called-function): Private generic functions
(setf called-function): Private generic functions
(setf cast-type): Private generic functions
(setf cast-type): Private generic functions
(setf condition-forms): Private generic functions
(setf condition-forms): Private generic functions
(setf conflicts): Private generic functions
(setf conflicts): Private generic functions
(setf constraints): Private generic functions
(setf constraints): Private generic functions
(setf constraints): Private generic functions
(setf ctype): Private generic functions
(setf ctype): Private generic functions
(setf declarations): Private generic functions
(setf declarations): Private generic functions
(setf declarations): Private generic functions
(setf declared-type): Private generic functions
(setf declared-type): Private generic functions
(setf declared-type): Private generic functions
(setf default): Private generic functions
(setf default): Private generic functions
(setf else-form): Private generic functions
(setf else-form): Private generic functions
(setf environment): Private generic functions
(setf environment): Private generic functions
(setf equiv): Private generic functions
(setf equiv): Private generic functions
(setf expander): Private generic functions
(setf expander): Private generic functions
(setf expander): Private generic functions
(setf expansion): Private generic functions
(setf expansion): Private generic functions
(setf explicit-casts): Private generic functions
(setf explicit-casts): Private generic functions
(setf expression): Private generic functions
(setf expression): Private generic functions
(setf field): Private generic functions
(setf field): Private generic functions
(setf field): Private generic functions
(setf final-binding-type-cache): Private generic functions
(setf final-binding-type-cache): Private generic functions
(setf function-types): Private generic functions
(setf function-types): Private generic functions
(setf function-types-by-arity): Private generic functions
(setf function-types-by-arity): Private generic functions
(setf global-function): Private generic functions
(setf global-function): Private generic functions
(setf glsl-name): Private generic functions
(setf glsl-name): Private generic functions
(setf glsl-name): Private generic functions
(setf glsl-name): Private generic functions
(setf implicit-casts-from): Private generic functions
(setf implicit-casts-from): Private generic functions
(setf implicit-casts-to): Private generic functions
(setf implicit-casts-to): Private generic functions
(setf in-type): Private generic functions
(setf in-type): Private generic functions
(setf index): Private generic functions
(setf index): Private generic functions
(setf init-forms): Private generic functions
(setf init-forms): Private generic functions
(setf initial-value-form): Private generic functions
(setf initial-value-form): Private generic functions
(setf interface-block): Private generic functions
(setf interface-block): Private generic functions
(setf interface-qualifier): Private generic functions
(setf interface-qualifier): Private generic functions
(setf internal): Private generic functions
(setf internal): Private generic functions
(setf internal): Private generic functions
(setf internal): Private generic functions
(setf lambda-list): Private generic functions
(setf lambda-list): Private generic functions
(setf layout-qualifier): Private generic functions
(setf layout-qualifier): Private generic functions
(setf layout-qualifiers): Private generic functions
(setf layout-qualifiers): Private generic functions
(setf live-uniforms): Private generic functions
(setf live-uniforms): Private generic functions
(setf local-binding-type-data): Private generic functions
(setf local-binding-type-data): Private generic functions
(setf locked): Private generic functions
(setf locked): Private generic functions
(setf max-arity): Private generic functions
(setf max-arity): Private generic functions
(setf min-arity): Private generic functions
(setf min-arity): Private generic functions
(setf min-size): Private generic functions
(setf min-size): Private generic functions
(setf min-size): Private generic functions
(setf min-size): Private generic functions
(setf modified): Public standalone methods
(setf modified): Private generic functions
(setf modified): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf old-lambda-list): Private generic functions
(setf old-lambda-list): Private generic functions
(setf other-type): Private generic functions
(setf other-type): Private generic functions
(setf out-size): Private generic functions
(setf out-size): Private generic functions
(setf out-type): Private generic functions
(setf out-type): Private generic functions
(setf qualifiers): Private generic functions
(setf qualifiers): Private generic functions
(setf raw-arguments): Private generic functions
(setf raw-arguments): Private generic functions
(setf raw-arguments): Private generic functions
(setf recompilation-callbacks): Private generic functions
(setf recompilation-callbacks): Private generic functions
(setf return-type): Private generic functions
(setf return-type): Private generic functions
(setf return-type): Private generic functions
(setf scalar/vector-set): Private generic functions
(setf scalar/vector-set): Private generic functions
(setf scalar/vector-size): Private generic functions
(setf scalar/vector-size): Private generic functions
(setf stage): Public generic functions
(setf stage): Public generic functions
(setf stage-bindings): Private generic functions
(setf stage-bindings): Private generic functions
(setf step-forms): Private generic functions
(setf step-forms): Private generic functions
(setf test-form): Private generic functions
(setf test-form): Private generic functions
(setf then-form): Private generic functions
(setf then-form): Private generic functions
(setf type-inference-state): Private generic functions
(setf type-inference-state): Private generic functions
(setf types): Private generic functions
(setf types): Private generic functions
(setf uniform): Private ordinary functions
(setf valid-stages): Private generic functions
(setf valid-stages): Private generic functions
(setf value): Private generic functions
(setf value): Private generic functions
(setf value-type): Private generic functions
(setf value-type): Private generic functions
(setf value-type): Private generic functions
(setf value-type): Private generic functions
(setf value-type): Private generic functions
(setf value-type): Private generic functions
(setf version): Private generic functions
(setf version): Private generic functions

A
add-compiler-macro: Private ordinary functions
add-concrete-type: Private ordinary functions
add-constraint: Private generic functions
add-constraint: Private generic functions
add-constraint: Private generic functions
add-constraint: Private generic functions
add-constraint: Private generic functions
add-constraint: Private generic functions
add-function: Private ordinary functions
add-function-arguments: Private ordinary functions
add-internal-function/full: Private ordinary functions
add-internal-function/mat: Private ordinary functions
add-internal-function/s: Private ordinary functions
add-macro: Private ordinary functions
add-symbol-macro: Private ordinary functions
add-unknown-function: Private ordinary functions
add-variable: Private ordinary functions
allow-casts: Private generic functions
allow-casts: Private generic functions
arg-type: Private generic functions
arg-type: Private generic functions
argument-environment: Private generic functions
argument-environment: Private generic functions
argument-environment: Private generic functions
argument-types: Private generic functions
argument-types: Private generic functions
argument-types: Private generic functions
arguments: Private generic functions
arguments: Private generic functions
arguments: Private generic functions
array-size: Private generic functions
array-size: Private generic functions
array-size: Private generic functions
array-size: Private generic functions
array-suffix: Private generic functions
array-suffix: Private generic functions
array-suffix: Private generic functions
array-suffix: Private generic functions
array-suffix: Private generic functions
assert-statement: Private macros
attribute: Public macros

B
base-type: Private generic functions
base-type: Private generic functions
base-type: Private generic functions
base-type: Private generic functions
bind-interface: Public macros
bind-interface: Private ordinary functions
binding: Private generic functions
binding: Private generic functions
binding: Private generic functions
binding: Private generic functions
binding: Private generic functions
binding: Private generic functions
binding: Private generic functions
bindings: Private generic functions
bindings: Private generic functions
bindings-used-by: Private generic functions
bindings-used-by: Private generic functions
bindings-using: Private generic functions
bindings-using: Private generic functions
body: Private generic functions
body: Private generic functions

C
cache-binding: Private ordinary functions
call-with-package-environment: Private ordinary functions
called-function: Private generic functions
called-function: Private generic functions
called-function: Private generic functions
cast-to-boolean: Private ordinary functions
cast-type: Private generic functions
cast-type: Private generic functions
check-locked: Private ordinary functions
check-slot-stages: Private generic functions
check-slot-stages: Private generic functions
check-stages: Private generic functions
check-stages: Private generic functions
compile-form: Public ordinary functions
compiler-macro-bindings: Private generic functions
compiler-macro-bindings: Private generic functions
condition-forms: Private generic functions
condition-forms: Private generic functions
conflicts: Private generic functions
conflicts: Private generic functions
constraints: Private generic functions
constraints: Private generic functions
constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-constraints: Private generic functions
copy-unify-constraints: Private ordinary functions
ctype: Private generic functions
ctype: Private generic functions

D
debug-local-binding-type-data: Private ordinary functions
debug-type-names: Private ordinary functions
declarations: Private generic functions
declarations: Private generic functions
declarations: Private generic functions
declared-type: Private generic functions
declared-type: Private generic functions
declared-type: Private generic functions
default: Private generic functions
default: Private generic functions
default-env: Private ordinary functions
defclmacro: Private macros
defconstant: Public macros
defmacro: Public macros
defmethod2: Private macros
defprint: Private macros
defprint-binop: Private macros
defprinti: Private macros
defstruct: Public macros
defun: Public macros
defwalker: Private macros
dirty: Private generic functions
dirty: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions
dump-constraint: Private generic functions

E
else-form: Private generic functions
else-form: Private generic functions
ensure-compiled: Private ordinary functions
ensure-package-environment: Private ordinary functions
environment: Private generic functions
environment: Private generic functions
equiv: Private generic functions
equiv: Private generic functions
expand-buffers: Private ordinary functions
expand-extension-keyword: Private ordinary functions
expand-optional-arg-type: Private ordinary functions
expand-structs: Private ordinary functions
expand-uniform-slots: Private generic functions
expand-uniform-slots: Private generic functions
expand-uniform-slots: Private generic functions
expand-uniform-slots: Private generic functions
expand-uniform-slots: Private generic functions
expand-uniforms: Private ordinary functions
expander: Private generic functions
expander: Private generic functions
expander: Private generic functions
expansion: Private generic functions
expansion: Private generic functions
explicit-casts: Private generic functions
explicit-casts: Private generic functions
expression: Private generic functions
expression: Private generic functions

F
field: Private generic functions
field: Private generic functions
field: Private generic functions
filter-progn: Private ordinary functions
final-binding-type-cache: Private generic functions
final-binding-type-cache: Private generic functions
finalize-inference: Private ordinary functions
flag-modified-constraint: Private ordinary functions
flag-modified-type: Private ordinary functions
flag-shader: Private ordinary functions
flatten-function: Private ordinary functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-type: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
flatten-types: Private generic functions
Function, %reload-program: Private ordinary functions
Function, %translate-name: Private ordinary functions
Function, (setf uniform): Private ordinary functions
Function, add-compiler-macro: Private ordinary functions
Function, add-concrete-type: Private ordinary functions
Function, add-function: Private ordinary functions
Function, add-function-arguments: Private ordinary functions
Function, add-internal-function/full: Private ordinary functions
Function, add-internal-function/mat: Private ordinary functions
Function, add-internal-function/s: Private ordinary functions
Function, add-macro: Private ordinary functions
Function, add-symbol-macro: Private ordinary functions
Function, add-unknown-function: Private ordinary functions
Function, add-variable: Private ordinary functions
Function, bind-interface: Private ordinary functions
Function, cache-binding: Private ordinary functions
Function, call-with-package-environment: Private ordinary functions
Function, cast-to-boolean: Private ordinary functions
Function, check-locked: Private ordinary functions
Function, compile-form: Public ordinary functions
Function, copy-unify-constraints: Private ordinary functions
Function, debug-local-binding-type-data: Private ordinary functions
Function, debug-type-names: Private ordinary functions
Function, default-env: Private ordinary functions
Function, ensure-compiled: Private ordinary functions
Function, ensure-package-environment: Private ordinary functions
Function, expand-buffers: Private ordinary functions
Function, expand-extension-keyword: Private ordinary functions
Function, expand-optional-arg-type: Private ordinary functions
Function, expand-structs: Private ordinary functions
Function, expand-uniforms: Private ordinary functions
Function, filter-progn: Private ordinary functions
Function, finalize-inference: Private ordinary functions
Function, flag-modified-constraint: Private ordinary functions
Function, flag-modified-type: Private ordinary functions
Function, flag-shader: Private ordinary functions
Function, flatten-function: Private ordinary functions
Function, function-signature-changed: Private ordinary functions
Function, generate-stage: Public ordinary functions
Function, get-compiler-macro-binding: Private ordinary functions
Function, get-compiler-macro-function: Private ordinary functions
Function, get-function-binding: Private ordinary functions
Function, get-macro-function: Private ordinary functions
Function, get-only-hash-key: Private ordinary functions
Function, get-symbol-macro: Private ordinary functions
Function, get-type-binding: Private ordinary functions
Function, get-variable-binding: Private ordinary functions
Function, global-env: Private ordinary functions
Function, in/out/uniform/attrib: Private ordinary functions
Function, infer: Private ordinary functions
Function, infer-modified-functions: Private ordinary functions
Function, lambda-list-vars: Private ordinary functions
Function, make-&key-expander: Private ordinary functions
Function, pprint-glsl: Private ordinary functions
Function, print-bindings/ret: Private ordinary functions
Function, print-main-layout-qualifiers: Private ordinary functions
Function, reload-program: Private ordinary functions
Function, remove-function: Private ordinary functions
Function, reset-program: Private ordinary functions
Function, run-type-inference: Private ordinary functions
Function, set-type: Private ordinary functions
Function, shader-program: Private ordinary functions
Function, sort-interface-qualifiers: Private ordinary functions
Function, topo-sort-dependencies: Private ordinary functions
Function, translate-interface-qualifiers: Private ordinary functions
Function, tree-shaker: Private ordinary functions
Function, uniform-index: Private ordinary functions
Function, uniform-matrix: Private ordinary functions
Function, uniform-matrix-2fv: Private ordinary functions
Function, uniform-matrix-2x3-fv: Private ordinary functions
Function, uniform-matrix-2x4-fv: Private ordinary functions
Function, uniform-matrix-3fv: Private ordinary functions
Function, uniform-matrix-3x2-fv: Private ordinary functions
Function, uniform-matrix-3x4-fv: Private ordinary functions
Function, uniform-matrix-4fv: Private ordinary functions
Function, uniform-matrix-4x2-fv: Private ordinary functions
Function, uniform-matrix-4x3-fv: Private ordinary functions
Function, uniformf: Private ordinary functions
Function, uniformfv: Private ordinary functions
Function, uniformi: Private ordinary functions
Function, update-dependencies: Private ordinary functions
Function, vector->{}: Private ordinary functions
Function, walk-function-body: Private ordinary functions
function-bindings: Private generic functions
function-bindings: Private generic functions
function-signature-changed: Private ordinary functions
function-types: Private generic functions
function-types: Private generic functions
function-types-by-arity: Private generic functions
function-types-by-arity: Private generic functions

G
generate-output: Private generic functions
generate-output: Private generic functions
generate-stage: Public ordinary functions
Generic Function, %print: Private generic functions
Generic Function, (setf %uniform): Private generic functions
Generic Function, (setf allow-casts): Private generic functions
Generic Function, (setf arg-type): Private generic functions
Generic Function, (setf argument-environment): Private generic functions
Generic Function, (setf argument-types): Private generic functions
Generic Function, (setf arguments): Private generic functions
Generic Function, (setf array-size): Private generic functions
Generic Function, (setf base-type): Private generic functions
Generic Function, (setf binding): Private generic functions
Generic Function, (setf bindings): Private generic functions
Generic Function, (setf body): Private generic functions
Generic Function, (setf called-function): Private generic functions
Generic Function, (setf cast-type): Private generic functions
Generic Function, (setf condition-forms): Private generic functions
Generic Function, (setf conflicts): Private generic functions
Generic Function, (setf constraints): Private generic functions
Generic Function, (setf ctype): Private generic functions
Generic Function, (setf declarations): Private generic functions
Generic Function, (setf declared-type): Private generic functions
Generic Function, (setf default): Private generic functions
Generic Function, (setf else-form): Private generic functions
Generic Function, (setf environment): Private generic functions
Generic Function, (setf equiv): Private generic functions
Generic Function, (setf expander): Private generic functions
Generic Function, (setf expansion): Private generic functions
Generic Function, (setf explicit-casts): Private generic functions
Generic Function, (setf expression): Private generic functions
Generic Function, (setf field): Private generic functions
Generic Function, (setf final-binding-type-cache): Private generic functions
Generic Function, (setf function-types): Private generic functions
Generic Function, (setf function-types-by-arity): Private generic functions
Generic Function, (setf global-function): Private generic functions
Generic Function, (setf glsl-name): Private generic functions
Generic Function, (setf implicit-casts-from): Private generic functions
Generic Function, (setf implicit-casts-to): Private generic functions
Generic Function, (setf in-type): Private generic functions
Generic Function, (setf index): Private generic functions
Generic Function, (setf init-forms): Private generic functions
Generic Function, (setf initial-value-form): Private generic functions
Generic Function, (setf interface-block): Private generic functions
Generic Function, (setf interface-qualifier): Private generic functions
Generic Function, (setf internal): Private generic functions
Generic Function, (setf lambda-list): Private generic functions
Generic Function, (setf layout-qualifier): Private generic functions
Generic Function, (setf layout-qualifiers): Private generic functions
Generic Function, (setf live-uniforms): Private generic functions
Generic Function, (setf local-binding-type-data): Private generic functions
Generic Function, (setf locked): Private generic functions
Generic Function, (setf max-arity): Private generic functions
Generic Function, (setf min-arity): Private generic functions
Generic Function, (setf min-size): Private generic functions
Generic Function, (setf modified): Private generic functions
Generic Function, (setf name): Private generic functions
Generic Function, (setf old-lambda-list): Private generic functions
Generic Function, (setf other-type): Private generic functions
Generic Function, (setf out-size): Private generic functions
Generic Function, (setf out-type): Private generic functions
Generic Function, (setf qualifiers): Private generic functions
Generic Function, (setf raw-arguments): Private generic functions
Generic Function, (setf recompilation-callbacks): Private generic functions
Generic Function, (setf return-type): Private generic functions
Generic Function, (setf scalar/vector-set): Private generic functions
Generic Function, (setf scalar/vector-size): Private generic functions
Generic Function, (setf stage): Public generic functions
Generic Function, (setf stage-bindings): Private generic functions
Generic Function, (setf step-forms): Private generic functions
Generic Function, (setf test-form): Private generic functions
Generic Function, (setf then-form): Private generic functions
Generic Function, (setf type-inference-state): Private generic functions
Generic Function, (setf types): Private generic functions
Generic Function, (setf valid-stages): Private generic functions
Generic Function, (setf value): Private generic functions
Generic Function, (setf value-type): Private generic functions
Generic Function, (setf version): Private generic functions
Generic Function, add-constraint: Private generic functions
Generic Function, allow-casts: Private generic functions
Generic Function, arg-type: Private generic functions
Generic Function, argument-environment: Private generic functions
Generic Function, argument-types: Private generic functions
Generic Function, arguments: Private generic functions
Generic Function, array-size: Private generic functions
Generic Function, array-suffix: Private generic functions
Generic Function, base-type: Private generic functions
Generic Function, binding: Private generic functions
Generic Function, bindings: Private generic functions
Generic Function, bindings-used-by: Private generic functions
Generic Function, bindings-using: Private generic functions
Generic Function, body: Private generic functions
Generic Function, called-function: Private generic functions
Generic Function, cast-type: Private generic functions
Generic Function, check-slot-stages: Private generic functions
Generic Function, check-stages: Private generic functions
Generic Function, compiler-macro-bindings: Private generic functions
Generic Function, condition-forms: Private generic functions
Generic Function, conflicts: Private generic functions
Generic Function, constraints: Private generic functions
Generic Function, copy-constraints: Private generic functions
Generic Function, ctype: Private generic functions
Generic Function, declarations: Private generic functions
Generic Function, declared-type: Private generic functions
Generic Function, default: Private generic functions
Generic Function, dirty: Private generic functions
Generic Function, dump-constraint: Private generic functions
Generic Function, else-form: Private generic functions
Generic Function, environment: Private generic functions
Generic Function, equiv: Private generic functions
Generic Function, expand-uniform-slots: Private generic functions
Generic Function, expander: Private generic functions
Generic Function, expansion: Private generic functions
Generic Function, explicit-casts: Private generic functions
Generic Function, expression: Private generic functions
Generic Function, field: Private generic functions
Generic Function, final-binding-type-cache: Private generic functions
Generic Function, flatten-type: Private generic functions
Generic Function, flatten-types: Private generic functions
Generic Function, function-bindings: Private generic functions
Generic Function, function-types: Private generic functions
Generic Function, function-types-by-arity: Private generic functions
Generic Function, generate-output: Private generic functions
Generic Function, get-concrete-type: Private generic functions
Generic Function, get-equiv-type: Private generic functions
Generic Function, global-function: Private generic functions
Generic Function, glsl-name: Private generic functions
Generic Function, implicit-casts-from: Private generic functions
Generic Function, implicit-casts-to: Private generic functions
Generic Function, in-type: Private generic functions
Generic Function, index: Private generic functions
Generic Function, init-forms: Private generic functions
Generic Function, initial-value-form: Private generic functions
Generic Function, integral-type: Private generic functions
Generic Function, interface-block: Private generic functions
Generic Function, interface-qualifier: Private generic functions
Generic Function, internal: Private generic functions
Generic Function, is-type: Private generic functions
Generic Function, lambda-list: Private generic functions
Generic Function, layout-qualifier: Private generic functions
Generic Function, layout-qualifiers: Private generic functions
Generic Function, live-uniforms: Private generic functions
Generic Function, local-binding-type-data: Private generic functions
Generic Function, locked: Private generic functions
Generic Function, max-arity: Private generic functions
Generic Function, min-arity: Private generic functions
Generic Function, min-size: Private generic functions
Generic Function, modified: Private generic functions
Generic Function, name: Private generic functions
Generic Function, name-map: Private generic functions
Generic Function, old-lambda-list: Private generic functions
Generic Function, other-type: Private generic functions
Generic Function, out-size: Private generic functions
Generic Function, out-type: Private generic functions
Generic Function, parent-scope: Private generic functions
Generic Function, process-type-declarations-for-scope: Private generic functions
Generic Function, program: Private generic functions
Generic Function, qualifiers: Private generic functions
Generic Function, raw-arguments: Private generic functions
Generic Function, recompilation-callbacks: Private generic functions
Generic Function, return-type: Private generic functions
Generic Function, scalar/vector-set: Private generic functions
Generic Function, scalar/vector-size: Private generic functions
Generic Function, ssbos: Private generic functions
Generic Function, stage: Public generic functions
Generic Function, stage-binding: Private generic functions
Generic Function, stage-bindings: Private generic functions
Generic Function, stages: Private generic functions
Generic Function, step-forms: Private generic functions
Generic Function, structs: Private generic functions
Generic Function, test-form: Private generic functions
Generic Function, then-form: Private generic functions
Generic Function, translate-name: Private generic functions
Generic Function, translate-slot-name: Private generic functions
Generic Function, translate-type: Private generic functions
Generic Function, type-inference-state: Private generic functions
Generic Function, types: Private generic functions
Generic Function, unifiable-types-p: Private generic functions
Generic Function, uniform: Private generic functions
Generic Function, uniforms: Private generic functions
Generic Function, unify: Private generic functions
Generic Function, update-constraint: Private generic functions
Generic Function, use-program: Private generic functions
Generic Function, valid-stages: Private generic functions
Generic Function, value: Private generic functions
Generic Function, value-type: Private generic functions
Generic Function, variable-bindings: Private generic functions
Generic Function, version: Private generic functions
Generic Function, walk: Private generic functions
Generic Function, walk-cons: Private generic functions
get-compiler-macro-binding: Private ordinary functions
get-compiler-macro-function: Private ordinary functions
get-concrete-type: Private generic functions
get-concrete-type: Private generic functions
get-concrete-type: Private generic functions
get-concrete-type: Private generic functions
get-concrete-type: Private generic functions
get-concrete-type: Private generic functions
get-equiv-type: Private generic functions
get-equiv-type: Private generic functions
get-equiv-type: Private generic functions
get-function-binding: Private ordinary functions
get-macro-function: Private ordinary functions
get-only-hash-key: Private ordinary functions
get-symbol-macro: Private ordinary functions
get-type-binding: Private ordinary functions
get-variable-binding: Private ordinary functions
global-env: Private ordinary functions
global-function: Private generic functions
global-function: Private generic functions
glsl-attribute: Public macros
glsl-bind-interface: Private macros
glsl-defconstant: Public macros
glsl-defun: Public macros
glsl-input: Public macros
glsl-interface: Public macros
glsl-name: Private generic functions
glsl-name: Private generic functions
glsl-name: Private generic functions
glsl-name: Private generic functions
glsl-output: Public macros
glsl-uniform: Public macros

I
implicit-casts-from: Private generic functions
implicit-casts-from: Private generic functions
implicit-casts-from: Private generic functions
implicit-casts-to: Private generic functions
implicit-casts-to: Private generic functions
implicit-casts-to: Private generic functions
in-type: Private generic functions
in-type: Private generic functions
in/out/uniform/attrib: Private ordinary functions
index: Private generic functions
index: Private generic functions
infer: Private ordinary functions
infer-modified-functions: Private ordinary functions
init-forms: Private generic functions
init-forms: Private generic functions
initial-value-form: Private generic functions
initial-value-form: Private generic functions
initialize-instance: Public standalone methods
input: Public macros
integral-type: Private generic functions
integral-type: Private generic functions
integral-type: Private generic functions
interface: Public macros
interface-block: Private generic functions
interface-block: Private generic functions
interface-qualifier: Private generic functions
interface-qualifier: Private generic functions
internal: Private generic functions
internal: Private generic functions
internal: Private generic functions
internal: Private generic functions
is-type: Private generic functions
is-type: Private generic functions
is-type: Private generic functions

L
lambda-list: Private generic functions
lambda-list: Private generic functions
lambda-list-vars: Private ordinary functions
layout-qualifier: Private generic functions
layout-qualifier: Private generic functions
layout-qualifiers: Private generic functions
layout-qualifiers: Private generic functions
live-uniforms: Private generic functions
live-uniforms: Private generic functions
local-binding-type-data: Private generic functions
local-binding-type-data: Private generic functions
locked: Private generic functions
locked: Private generic functions

M
Macro, %glsl-compiler-macro: Private macros
Macro, %glsl-macro: Private macros
Macro, assert-statement: Private macros
Macro, attribute: Public macros
Macro, bind-interface: Public macros
Macro, defclmacro: Private macros
Macro, defconstant: Public macros
Macro, defmacro: Public macros
Macro, defmethod2: Private macros
Macro, defprint: Private macros
Macro, defprint-binop: Private macros
Macro, defprinti: Private macros
Macro, defstruct: Public macros
Macro, defun: Public macros
Macro, defwalker: Private macros
Macro, glsl-attribute: Public macros
Macro, glsl-bind-interface: Private macros
Macro, glsl-defconstant: Public macros
Macro, glsl-defun: Public macros
Macro, glsl-input: Public macros
Macro, glsl-interface: Public macros
Macro, glsl-output: Public macros
Macro, glsl-uniform: Public macros
Macro, input: Public macros
Macro, interface: Public macros
Macro, output: Public macros
Macro, shared: Public macros
Macro, uniform: Public macros
Macro, with-environment-scope: Private macros
Macro, with-lambda-list-vars: Private macros
Macro, with-package-environment: Private macros
Macro, with-program: Private macros
make-&key-expander: Private ordinary functions
max-arity: Private generic functions
max-arity: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: Private generic functions
Method, %print: