Skip to content

Instantly share code, notes, and snippets.

View djg's full-sized avatar
💭
I may be slow to respond.

Dan Glastonbury djg

💭
I may be slow to respond.
View GitHub Profile
if (texture() && texture()->SomeMethod()) {
texture()->SomeOtherMethod()->FooBar();
}
vs
Texture* tex = texture();
if (tex && tex->SomeMethod()) {
tex->SomeOtherMethod()->FooBar();
}
@djg
djg / pilots
Created February 17, 2014 00:27
Truly superior pilots are those who use their superior judgment to avoid those situations where they might have to use their superior skills.
— cliché
// -----------------------------------------------------------------------------
// PUBLIC
public:
@djg
djg / ugh
Created May 12, 2014 07:51
GLSL 1.2 -> GLSL 1.5
#version 150
out vec4 gl_FragColor
#ifdef GL_ES
precision mediump float;
#define COLOR_PRECISION lowp
#else
#define COLOR_PRECISION
#endif
uniform COLOR_PRECISION vec4 uRenderColor;
uniform sampler2D uTexture;
The GL_TRANSFORM_FEEDBACK_BUFFER buffer binding point may be
passed to glBindBuffer, but will not directly affect transform
feedback state. Instead, the indexed GL_TRANSFORM_FEEDBACK_BUFFER
bindings must be used through a call to glBindBufferBase or
glBindBufferRange. This will affect the generic
GL_TRANSFORM_FEEDBACK_BUFFER binding.
Likewise, the GL_UNIFORM_BUFFER buffer binding point may be used,
but does not directly affect uniform buffer
state. glBindBufferBase or glBindBufferRange must be used to bind
@djg
djg / djg.el
Last active August 29, 2015 14:02
;; I'm always opening a buffer in the wrong window. These function
;; help move the newly opened buffer to another window and restore the
;; buffer I was previously looking at.
(defun djg/buf-move (dir errmsg)
(let* ((other-win (windmove-find-other-window dir))
(buf-this-buf (window-buffer (selected-window))))
(if (null other-win)
(error errmsg)
(set-window-buffer other-win buf-this-buf)
(switch-to-prev-buffer))))
@djg
djg / gist:7140c17b7f1fa8e8110e
Created April 13, 2015 06:53
That doesn't seem right...
$ ninja && ./xfb
[2/2] clang++ xfb.o deRandom.o gl3w.o -o xfb -lglfw3 -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo
glDrawArrays(0x0000, 0, 64)
pauseTransformFeedback
glDrawArrays(0x0000, 64, 64)
resumeTransformFeedback
glDrawArrays(0x0000, 128, 64)
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 64
@djg
djg / gist:572eb0acc7c7c9667493
Created May 21, 2015 01:25
glBindBufferRange
GLuint buf;
glGenBuffers(1, &buf);
// glBindBuffer(GL_UNIFORM, buf); <-- OSX needs this or ...
glBindBufferRange(GL_UNIFORM_BUFFER, 0, buf, 0, 4); // ... this returns GL_INVALID_VALUE
@djg
djg / gist:05323539d0894dd9119c
Created February 18, 2016 01:29
nsDocument: IsActive() vs. IsVisible() vs. Hidden()
<roc> basically, IsActive() is true when the document is associated with a GlobalWindow(inner) which is the current document in its docshell
<roc> i.e. not bfcached
<roc> IsVisible() is similar but more specifically delimited by the pageshow and pagehide DOM events
<roc> Hidden() is like !IsActive() but all documents associated with hidden tabs are also Hdden()
<roc> tabs/docshells have this "hidden" state; all Firefox tabs that aren't the topmost tab are marked hidden
# YCBCR422
diff --git a/gfx/2d/MacIOSurface.cpp b/gfx/2d/MacIOSurface.cpp
index 4ac0a50..8231d8a 100644
--- a/gfx/2d/MacIOSurface.cpp
+++ b/gfx/2d/MacIOSurface.cpp
@@ -476,6 +476,8 @@ MacIOSurface::GetFormat()
OSType pixelFormat = GetPixelFormat();
if (pixelFormat == '420v') {
return SurfaceFormat::NV12;
+ } else if (pixelFormat == '2vuy') {