1 | /* Copyright (c) 2001, Stanford University
|
---|
2 | * All rights reserved.
|
---|
3 | *
|
---|
4 | * See the file LICENSE.txt for information on redistributing this software.
|
---|
5 | */
|
---|
6 |
|
---|
7 | #ifndef CR_STATE_MULTISAMPLE_H
|
---|
8 | #define CR_STATE_MULTISAMPLE_H
|
---|
9 |
|
---|
10 | #include "state/cr_statetypes.h"
|
---|
11 |
|
---|
12 | #include <iprt/cdefs.h>
|
---|
13 |
|
---|
14 | #ifdef __cplusplus
|
---|
15 | extern "C" {
|
---|
16 | #endif
|
---|
17 |
|
---|
18 | typedef struct {
|
---|
19 | CRbitvalue dirty[CR_MAX_BITARRAY];
|
---|
20 | CRbitvalue enable[CR_MAX_BITARRAY];
|
---|
21 | CRbitvalue sampleAlphaToCoverage[CR_MAX_BITARRAY];
|
---|
22 | CRbitvalue sampleAlphaToOne[CR_MAX_BITARRAY];
|
---|
23 | CRbitvalue sampleCoverage[CR_MAX_BITARRAY];
|
---|
24 | CRbitvalue sampleCoverageValue[CR_MAX_BITARRAY]; /* and invert */
|
---|
25 | } CRMultisampleBits;
|
---|
26 |
|
---|
27 | typedef struct {
|
---|
28 | GLboolean enabled;
|
---|
29 | GLboolean sampleAlphaToCoverage;
|
---|
30 | GLboolean sampleAlphaToOne;
|
---|
31 | GLboolean sampleCoverage;
|
---|
32 | GLfloat sampleCoverageValue;
|
---|
33 | GLboolean sampleCoverageInvert;
|
---|
34 | } CRMultisampleState;
|
---|
35 |
|
---|
36 | DECLEXPORT(void) crStateMultisampleInit(CRContext *ctx);
|
---|
37 |
|
---|
38 | DECLEXPORT(void) crStateMultisampleDiff(CRMultisampleBits *bb, CRbitvalue *bitID,
|
---|
39 | CRContext *fromCtx, CRContext *toCtx);
|
---|
40 | DECLEXPORT(void) crStateMultisampleSwitch(CRMultisampleBits *bb, CRbitvalue *bitID,
|
---|
41 | CRContext *fromCtx, CRContext *toCtx);
|
---|
42 |
|
---|
43 | #ifdef __cplusplus
|
---|
44 | }
|
---|
45 | #endif
|
---|
46 |
|
---|
47 | #endif /* CR_STATE_MULTISAMPLE_H */
|
---|