diff --git a/extra/line-art/line-art.factor b/extra/line-art/line-art.factor index 054f07f63f..9eb3dc2dda 100644 --- a/extra/line-art/line-art.factor +++ b/extra/line-art/line-art.factor @@ -187,7 +187,10 @@ main() ] if ; M: line-art-gadget graft* ( gadget -- ) - "2.0" { "GL_ARB_draw_buffers" "GL_ARB_shader_objects" "GL_ARB_multitexture" } + "2.0" { "GL_ARB_draw_buffers" + "GL_ARB_shader_objects" + "GL_ARB_multitexture" + "GL_ARB_texture_float" } require-gl-version-or-extensions { "GL_EXT_framebuffer_object" } require-gl-extensions GL_CULL_FACE glEnable diff --git a/extra/opengl/opengl.factor b/extra/opengl/opengl.factor index 656c514cd1..f84aac56de 100755 --- a/extra/opengl/opengl.factor +++ b/extra/opengl/opengl.factor @@ -136,7 +136,6 @@ IN: opengl : with-framebuffer ( id quot -- ) GL_FRAMEBUFFER_EXT rot glBindFramebufferEXT - [ call ] [ GL_FRAMEBUFFER_EXT 0 glBindFramebufferEXT ] [ ] cleanup ; inline : bind-texture-unit ( id target unit -- ) @@ -357,7 +356,7 @@ PREDICATE: gl-shader fragment-shader (fragment-shader?) ; ] each delete-gl-program-only ; : with-gl-program ( program quot -- ) - swap glUseProgram [ call ] [ 0 glUseProgram ] [ ] cleanup ; inline + swap glUseProgram [ 0 glUseProgram ] [ ] cleanup ; inline PREDICATE: integer gl-program (gl-program?) ; diff --git a/extra/ui/ui.factor b/extra/ui/ui.factor index 4daadd2765..8fc7247257 100755 --- a/extra/ui/ui.factor +++ b/extra/ui/ui.factor @@ -120,12 +120,10 @@ SYMBOL: ui-hook [ dup update-hand draw-world ] each ; : notify ( gadget -- ) - dup gadget-graft-state [ dup { - { { f t } [ over activate-control over graft* ] } - { { t f } [ over activate-control over ungraft* ] } - } case ] - [ first { f f } { t t } ? - swap set-gadget-graft-state ] [ ] cleanup ; + dup gadget-graft-state dup first { f f } { t t } ? pick set-gadget-graft-state { + { { f t } [ dup activate-control graft* ] } + { { t f } [ dup activate-control ungraft* ] } + } case ; : notify-queued ( -- ) graft-queue [ notify ] dlist-slurp ;