Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
angle
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
angle
Commits
950a775e
Commit
950a775e
authored
Sep 18, 2013
by
Jamie Madill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move the pixel pack and unpack related state into separate structs, for easy parameter passing.
TRAC #23840 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
parent
666e2866
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
27 deletions
+52
-27
Context.cpp
src/libGLESv2/Context.cpp
+17
-21
Context.h
src/libGLESv2/Context.h
+2
-6
angletypes.h
src/libGLESv2/angletypes.h
+33
-0
No files found.
src/libGLESv2/Context.cpp
View file @
950a775e
...
@@ -189,10 +189,6 @@ Context::Context(int clientVersion, const gl::Context *shareContext, rx::Rendere
...
@@ -189,10 +189,6 @@ Context::Context(int clientVersion, const gl::Context *shareContext, rx::Rendere
mState
.
currentProgram
=
0
;
mState
.
currentProgram
=
0
;
mCurrentProgramBinary
.
set
(
NULL
);
mCurrentProgramBinary
.
set
(
NULL
);
mState
.
packAlignment
=
4
;
mState
.
unpackAlignment
=
4
;
mState
.
packReverseRowOrder
=
false
;
mCombinedExtensionsString
=
NULL
;
mCombinedExtensionsString
=
NULL
;
mRendererString
=
NULL
;
mRendererString
=
NULL
;
...
@@ -297,8 +293,8 @@ Context::~Context()
...
@@ -297,8 +293,8 @@ Context::~Context()
mState
.
copyReadBuffer
.
set
(
NULL
);
mState
.
copyReadBuffer
.
set
(
NULL
);
mState
.
copyWriteBuffer
.
set
(
NULL
);
mState
.
copyWriteBuffer
.
set
(
NULL
);
mState
.
p
ixelPack
Buffer
.
set
(
NULL
);
mState
.
p
ack
.
pixel
Buffer
.
set
(
NULL
);
mState
.
pixelUnpack
Buffer
.
set
(
NULL
);
mState
.
unpack
.
pixel
Buffer
.
set
(
NULL
);
mResourceManager
->
release
();
mResourceManager
->
release
();
}
}
...
@@ -750,32 +746,32 @@ const void *Context::getVertexAttribPointer(unsigned int attribNum) const
...
@@ -750,32 +746,32 @@ const void *Context::getVertexAttribPointer(unsigned int attribNum) const
void
Context
::
setPackAlignment
(
GLint
alignment
)
void
Context
::
setPackAlignment
(
GLint
alignment
)
{
{
mState
.
pack
A
lignment
=
alignment
;
mState
.
pack
.
a
lignment
=
alignment
;
}
}
GLint
Context
::
getPackAlignment
()
const
GLint
Context
::
getPackAlignment
()
const
{
{
return
mState
.
pack
A
lignment
;
return
mState
.
pack
.
a
lignment
;
}
}
void
Context
::
setUnpackAlignment
(
GLint
alignment
)
void
Context
::
setUnpackAlignment
(
GLint
alignment
)
{
{
mState
.
unpack
A
lignment
=
alignment
;
mState
.
unpack
.
a
lignment
=
alignment
;
}
}
GLint
Context
::
getUnpackAlignment
()
const
GLint
Context
::
getUnpackAlignment
()
const
{
{
return
mState
.
unpack
A
lignment
;
return
mState
.
unpack
.
a
lignment
;
}
}
void
Context
::
setPackReverseRowOrder
(
bool
reverseRowOrder
)
void
Context
::
setPackReverseRowOrder
(
bool
reverseRowOrder
)
{
{
mState
.
pack
R
everseRowOrder
=
reverseRowOrder
;
mState
.
pack
.
r
everseRowOrder
=
reverseRowOrder
;
}
}
bool
Context
::
getPackReverseRowOrder
()
const
bool
Context
::
getPackReverseRowOrder
()
const
{
{
return
mState
.
pack
R
everseRowOrder
;
return
mState
.
pack
.
r
everseRowOrder
;
}
}
GLuint
Context
::
createBuffer
()
GLuint
Context
::
createBuffer
()
...
@@ -1180,14 +1176,14 @@ void Context::bindPixelPackBuffer(GLuint buffer)
...
@@ -1180,14 +1176,14 @@ void Context::bindPixelPackBuffer(GLuint buffer)
{
{
mResourceManager
->
checkBufferAllocation
(
buffer
);
mResourceManager
->
checkBufferAllocation
(
buffer
);
mState
.
p
ixelPack
Buffer
.
set
(
getBuffer
(
buffer
));
mState
.
p
ack
.
pixel
Buffer
.
set
(
getBuffer
(
buffer
));
}
}
void
Context
::
bindPixelUnpackBuffer
(
GLuint
buffer
)
void
Context
::
bindPixelUnpackBuffer
(
GLuint
buffer
)
{
{
mResourceManager
->
checkBufferAllocation
(
buffer
);
mResourceManager
->
checkBufferAllocation
(
buffer
);
mState
.
pixelUnpack
Buffer
.
set
(
getBuffer
(
buffer
));
mState
.
unpack
.
pixel
Buffer
.
set
(
getBuffer
(
buffer
));
}
}
void
Context
::
useProgram
(
GLuint
program
)
void
Context
::
useProgram
(
GLuint
program
)
...
@@ -1480,12 +1476,12 @@ Buffer *Context::getCopyWriteBuffer()
...
@@ -1480,12 +1476,12 @@ Buffer *Context::getCopyWriteBuffer()
Buffer
*
Context
::
getPixelPackBuffer
()
Buffer
*
Context
::
getPixelPackBuffer
()
{
{
return
mState
.
p
ixelPack
Buffer
.
get
();
return
mState
.
p
ack
.
pixel
Buffer
.
get
();
}
}
Buffer
*
Context
::
getPixelUnpackBuffer
()
Buffer
*
Context
::
getPixelUnpackBuffer
()
{
{
return
mState
.
pixelUnpack
Buffer
.
get
();
return
mState
.
unpack
.
pixel
Buffer
.
get
();
}
}
Texture
*
Context
::
getSamplerTexture
(
unsigned
int
sampler
,
TextureType
type
)
Texture
*
Context
::
getSamplerTexture
(
unsigned
int
sampler
,
TextureType
type
)
...
@@ -1636,9 +1632,9 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
...
@@ -1636,9 +1632,9 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
case
GL_RENDERBUFFER_BINDING
:
*
params
=
mState
.
renderbuffer
.
id
();
break
;
case
GL_RENDERBUFFER_BINDING
:
*
params
=
mState
.
renderbuffer
.
id
();
break
;
case
GL_VERTEX_ARRAY_BINDING
:
*
params
=
mState
.
vertexArray
;
break
;
case
GL_VERTEX_ARRAY_BINDING
:
*
params
=
mState
.
vertexArray
;
break
;
case
GL_CURRENT_PROGRAM
:
*
params
=
mState
.
currentProgram
;
break
;
case
GL_CURRENT_PROGRAM
:
*
params
=
mState
.
currentProgram
;
break
;
case
GL_PACK_ALIGNMENT
:
*
params
=
mState
.
pack
Alignment
;
break
;
case
GL_PACK_ALIGNMENT
:
*
params
=
mState
.
pack
.
alignment
;
break
;
case
GL_PACK_REVERSE_ROW_ORDER_ANGLE
:
*
params
=
mState
.
pack
ReverseRowOrder
;
break
;
case
GL_PACK_REVERSE_ROW_ORDER_ANGLE
:
*
params
=
mState
.
pack
.
reverseRowOrder
;
break
;
case
GL_UNPACK_ALIGNMENT
:
*
params
=
mState
.
unpack
Alignment
;
break
;
case
GL_UNPACK_ALIGNMENT
:
*
params
=
mState
.
unpack
.
alignment
;
break
;
case
GL_GENERATE_MIPMAP_HINT
:
*
params
=
mState
.
generateMipmapHint
;
break
;
case
GL_GENERATE_MIPMAP_HINT
:
*
params
=
mState
.
generateMipmapHint
;
break
;
case
GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES
:
*
params
=
mState
.
fragmentShaderDerivativeHint
;
break
;
case
GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES
:
*
params
=
mState
.
fragmentShaderDerivativeHint
;
break
;
case
GL_ACTIVE_TEXTURE
:
*
params
=
(
mState
.
activeSampler
+
GL_TEXTURE0
);
break
;
case
GL_ACTIVE_TEXTURE
:
*
params
=
(
mState
.
activeSampler
+
GL_TEXTURE0
);
break
;
...
@@ -1892,10 +1888,10 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
...
@@ -1892,10 +1888,10 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
*
params
=
mState
.
copyWriteBuffer
.
id
();
*
params
=
mState
.
copyWriteBuffer
.
id
();
break
;
break
;
case
GL_PIXEL_PACK_BUFFER_BINDING
:
case
GL_PIXEL_PACK_BUFFER_BINDING
:
*
params
=
mState
.
p
ixelPack
Buffer
.
id
();
*
params
=
mState
.
p
ack
.
pixel
Buffer
.
id
();
break
;
break
;
case
GL_PIXEL_UNPACK_BUFFER_BINDING
:
case
GL_PIXEL_UNPACK_BUFFER_BINDING
:
*
params
=
mState
.
pixelUnpack
Buffer
.
id
();
*
params
=
mState
.
unpack
.
pixel
Buffer
.
id
();
break
;
break
;
case
GL_NUM_EXTENSIONS
:
case
GL_NUM_EXTENSIONS
:
*
params
=
static_cast
<
GLint
>
(
getNumExtensions
());
*
params
=
static_cast
<
GLint
>
(
getNumExtensions
());
...
...
src/libGLESv2/Context.h
View file @
950a775e
...
@@ -129,12 +129,8 @@ struct State
...
@@ -129,12 +129,8 @@ struct State
BindingPointer
<
Buffer
>
copyReadBuffer
;
BindingPointer
<
Buffer
>
copyReadBuffer
;
BindingPointer
<
Buffer
>
copyWriteBuffer
;
BindingPointer
<
Buffer
>
copyWriteBuffer
;
BindingPointer
<
Buffer
>
pixelPackBuffer
;
PixelUnpackState
unpack
;
BindingPointer
<
Buffer
>
pixelUnpackBuffer
;
PixelPackState
pack
;
GLint
unpackAlignment
;
GLint
packAlignment
;
bool
packReverseRowOrder
;
};
};
class
Context
class
Context
...
...
src/libGLESv2/angletypes.h
View file @
950a775e
...
@@ -10,9 +10,11 @@
...
@@ -10,9 +10,11 @@
#define LIBGLESV2_ANGLETYPES_H_
#define LIBGLESV2_ANGLETYPES_H_
#include "libGLESv2/constants.h"
#include "libGLESv2/constants.h"
#include "common/RefCountObject.h"
namespace
gl
namespace
gl
{
{
class
Buffer
;
enum
TextureType
enum
TextureType
{
{
...
@@ -175,6 +177,37 @@ struct ClearParameters
...
@@ -175,6 +177,37 @@ struct ClearParameters
Rectangle
scissor
;
Rectangle
scissor
;
};
};
struct
PixelUnpackState
{
BindingPointer
<
Buffer
>
pixelBuffer
;
GLint
alignment
;
PixelUnpackState
()
:
alignment
(
4
)
{}
explicit
PixelUnpackState
(
GLint
alignmentIn
)
:
alignment
(
alignmentIn
)
{}
};
struct
PixelPackState
{
BindingPointer
<
Buffer
>
pixelBuffer
;
GLint
alignment
;
bool
reverseRowOrder
;
PixelPackState
()
:
alignment
(
4
),
reverseRowOrder
(
false
)
{}
explicit
PixelPackState
(
GLint
alignmentIn
,
bool
reverseRowOrderIn
)
:
alignment
(
alignmentIn
),
reverseRowOrder
(
reverseRowOrderIn
)
{}
};
}
}
#endif // LIBGLESV2_ANGLETYPES_H_
#endif // LIBGLESV2_ANGLETYPES_H_
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment