rsdProgramRaster.cpp revision 2382aba4a55c6ae74789c478eead8fbd96593321
1721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams/*
2721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * Copyright (C) 2011 The Android Open Source Project
3721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams *
4721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * Licensed under the Apache License, Version 2.0 (the "License");
5721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * you may not use this file except in compliance with the License.
6721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * You may obtain a copy of the License at
7721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams *
8721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams *      http://www.apache.org/licenses/LICENSE-2.0
9721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams *
10721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * Unless required by applicable law or agreed to in writing, software
11721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * distributed under the License is distributed on an "AS IS" BASIS,
12721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * See the License for the specific language governing permissions and
14721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams * limitations under the License.
15721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams */
16721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
17721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
18721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include "rsdCore.h"
19721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include "rsdProgramStore.h"
20721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
21721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include "rsContext.h"
22721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include "rsProgramStore.h"
23721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
24721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include <GLES/gl.h>
25721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams#include <GLES/glext.h>
26721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
27721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
28721acc495b859c6d884725a4f9b5523583dd11c7Jason Samsusing namespace android;
29721acc495b859c6d884725a4f9b5523583dd11c7Jason Samsusing namespace android::renderscript;
30721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
31721acc495b859c6d884725a4f9b5523583dd11c7Jason Samsbool rsdProgramRasterInit(const Context *, const ProgramRaster *) {
32721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams    return true;
33721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams}
34721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
352382aba4a55c6ae74789c478eead8fbd96593321Jason Samsvoid rsdProgramRasterSetActive(const Context *rsc, const ProgramRaster *pr) {
36721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams    switch (pr->mHal.state.cull) {
37721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        case RS_CULL_BACK:
382382aba4a55c6ae74789c478eead8fbd96593321Jason Sams            RSD_CALL_GL(glEnable, GL_CULL_FACE);
392382aba4a55c6ae74789c478eead8fbd96593321Jason Sams            RSD_CALL_GL(glCullFace, GL_BACK);
40721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams            break;
41721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        case RS_CULL_FRONT:
422382aba4a55c6ae74789c478eead8fbd96593321Jason Sams            RSD_CALL_GL(glEnable, GL_CULL_FACE);
432382aba4a55c6ae74789c478eead8fbd96593321Jason Sams            RSD_CALL_GL(glCullFace, GL_FRONT);
44721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams            break;
45721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        case RS_CULL_NONE:
462382aba4a55c6ae74789c478eead8fbd96593321Jason Sams            RSD_CALL_GL(glDisable, GL_CULL_FACE);
47721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams            break;
48721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams    }
49721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
50721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams}
51721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
52721acc495b859c6d884725a4f9b5523583dd11c7Jason Samsvoid rsdProgramRasterDestroy(const Context *, const ProgramRaster *) {
53721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams}
54721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
55721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams
56