Remove offscreen GL support from SampleApp and SkOSWindow. This never worked anywhere but Mac and it doesn't work there anymore.
git-svn-id: http://skia.googlecode.com/svn/trunk@918 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
f88d6765a5
commit
498a623e2e
@ -36,7 +36,7 @@ public:
|
||||
void doPaint(void* ctx);
|
||||
|
||||
|
||||
bool attachGL(const SkBitmap* offscreen);
|
||||
bool attachGL();
|
||||
void detachGL();
|
||||
void presentGL();
|
||||
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
|
||||
static bool PostEvent(SkEvent* evt, SkEventSinkID, SkMSec delay);
|
||||
|
||||
bool attachGL(const SkBitmap* offscreen);
|
||||
bool attachGL();
|
||||
void detachGL();
|
||||
void presentGL();
|
||||
|
||||
|
@ -21,10 +21,6 @@ extern SkView* create_overview(int, const SkViewFactory[]);
|
||||
#define ANIMATING_EVENTTYPE "nextSample"
|
||||
#define ANIMATING_DELAY 750
|
||||
|
||||
#if !defined(SK_BUILD_FOR_WIN32)
|
||||
//#define USE_OFFSCREEN
|
||||
#endif
|
||||
|
||||
#ifdef SK_SUPPORT_GL
|
||||
#include "GrGLConfig.h"
|
||||
#endif
|
||||
@ -208,27 +204,20 @@ private:
|
||||
bool SampleWindow::make3DReady() {
|
||||
|
||||
#if defined(SK_SUPPORT_GL)
|
||||
#if defined(USE_OFFSCREEN)
|
||||
// first clear the raster bitmap, so we don't see any leftover bits
|
||||
bitmap.eraseColor(0);
|
||||
// now setup our glcanvas
|
||||
attachGL(&bitmap);
|
||||
#else
|
||||
attachGL(NULL);
|
||||
#endif
|
||||
if (attachGL()) {
|
||||
if (NULL == fGrContext) {
|
||||
#if defined(SK_USE_SHADERS)
|
||||
fGrContext = GrContext::Create(GrGpu::kOpenGL_Shaders_Engine, NULL);
|
||||
#else
|
||||
fGrContext = GrContext::Create(GrGpu::kOpenGL_Fixed_Engine, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (NULL == fGrContext) {
|
||||
#if defined(SK_USE_SHADERS)
|
||||
fGrContext = GrContext::Create(GrGpu::kOpenGL_Shaders_Engine, NULL);
|
||||
#else
|
||||
fGrContext = GrContext::Create(GrGpu::kOpenGL_Fixed_Engine, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (NULL != fGrContext) {
|
||||
return true;
|
||||
} else {
|
||||
detachGL();
|
||||
if (NULL != fGrContext) {
|
||||
return true;
|
||||
} else {
|
||||
detachGL();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
SkDebugf("Failed to setup 3D");
|
||||
@ -485,9 +474,6 @@ void SampleWindow::afterChildren(SkCanvas* orig) {
|
||||
delete fGpuCanvas;
|
||||
fGpuCanvas = NULL;
|
||||
presentGL();
|
||||
#ifdef USE_OFFSCREEN
|
||||
reverseRedAndBlue(orig->getDevice()->accessBitmap(true));
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
@ -452,7 +452,7 @@ void SkEvent::SignalQueueTimer(SkMSec delay)
|
||||
}
|
||||
}
|
||||
|
||||
AGLContext create_gl(WindowRef wref, bool offscreen)
|
||||
AGLContext create_gl(WindowRef wref)
|
||||
{
|
||||
GLint major, minor;
|
||||
AGLContext ctx;
|
||||
@ -466,8 +466,8 @@ AGLContext create_gl(WindowRef wref, bool offscreen)
|
||||
AGL_SAMPLE_BUFFERS_ARB, 1,
|
||||
AGL_MULTISAMPLE,
|
||||
AGL_SAMPLES_ARB, 8,
|
||||
(offscreen ? AGL_OFFSCREEN : AGL_ACCELERATED),
|
||||
(offscreen ? AGL_NONE : AGL_DOUBLEBUFFER),
|
||||
AGL_ACCELERATED,
|
||||
AGL_DOUBLEBUFFER,
|
||||
AGL_NONE
|
||||
};
|
||||
AGLPixelFormat format = aglChoosePixelFormat(NULL, 0, pixelAttrs);
|
||||
@ -483,10 +483,10 @@ AGLContext create_gl(WindowRef wref, bool offscreen)
|
||||
return ctx;
|
||||
}
|
||||
|
||||
bool SkOSWindow::attachGL(const SkBitmap* offscreen)
|
||||
bool SkOSWindow::attachGL()
|
||||
{
|
||||
if (NULL == fAGLCtx) {
|
||||
fAGLCtx = create_gl((WindowRef)fHWND, NULL != offscreen);
|
||||
fAGLCtx = create_gl((WindowRef)fHWND);
|
||||
if (NULL == fAGLCtx) {
|
||||
return false;
|
||||
}
|
||||
@ -496,24 +496,14 @@ bool SkOSWindow::attachGL(const SkBitmap* offscreen)
|
||||
|
||||
int width, height;
|
||||
|
||||
if (offscreen) {
|
||||
success = aglSetOffScreen((AGLContext)fAGLCtx,
|
||||
offscreen->width(),
|
||||
offscreen->height(),
|
||||
offscreen->rowBytes(),
|
||||
offscreen->getPixels());
|
||||
width = offscreen->width();
|
||||
height = offscreen->height();
|
||||
} else {
|
||||
success = aglSetWindowRef((AGLContext)fAGLCtx, (WindowRef)fHWND);
|
||||
width = this->width();
|
||||
height = this->height();
|
||||
}
|
||||
success = aglSetWindowRef((AGLContext)fAGLCtx, (WindowRef)fHWND);
|
||||
width = this->width();
|
||||
height = this->height();
|
||||
|
||||
GLenum err = aglGetError();
|
||||
if (err) {
|
||||
SkDebugf("---- setoffscreen %d %d %s [%d %d]\n", success, err,
|
||||
aglErrorString(err), offscreen->width(), offscreen->height());
|
||||
SkDebugf("---- aglSetWindowRef %d %d %s [%d %d]\n", success, err,
|
||||
aglErrorString(err), width, height);
|
||||
}
|
||||
|
||||
if (success) {
|
||||
|
@ -433,10 +433,7 @@ HGLRC create_gl(HWND hwnd) {
|
||||
return glrc;
|
||||
}
|
||||
|
||||
bool SkOSWindow::attachGL(const SkBitmap* offscreen) {
|
||||
if (offscreen) {
|
||||
printf("windows doesn't support rendering to SkBitmap");
|
||||
}
|
||||
bool SkOSWindow::attachGL() {
|
||||
if (NULL == fHGLRC) {
|
||||
fHGLRC = create_gl((HWND)fHWND);
|
||||
glClearStencil(0);
|
||||
|
Loading…
Reference in New Issue
Block a user