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
9675b808
Commit
9675b808
authored
Jul 19, 2013
by
Jamie Madill
Committed by
Shannon Woods
Jul 19, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add internal accessor functions for querying sampler object parameters.
TRAC #23454 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
parent
a85f6f13
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
7 deletions
+63
-7
Context.cpp
src/libGLESv2/Context.cpp
+51
-7
Context.h
src/libGLESv2/Context.h
+2
-0
Sampler.h
src/libGLESv2/Sampler.h
+10
-0
No files found.
src/libGLESv2/Context.cpp
View file @
9675b808
...
...
@@ -3099,19 +3099,63 @@ void Context::samplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
switch
(
pname
)
{
case
GL_TEXTURE_MIN_FILTER
:
samplerObject
->
setMinFilter
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_MAG_FILTER
:
samplerObject
->
setMagFilter
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_S
:
samplerObject
->
setWrapS
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_T
:
samplerObject
->
setWrapT
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_R
:
samplerObject
->
setWrapR
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_MIN_FILTER
:
samplerObject
->
setMinFilter
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_MAG_FILTER
:
samplerObject
->
setMagFilter
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_S
:
samplerObject
->
setWrapS
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_T
:
samplerObject
->
setWrapT
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_WRAP_R
:
samplerObject
->
setWrapR
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_MIN_LOD
:
samplerObject
->
setMinLod
(
param
);
break
;
case
GL_TEXTURE_MAX_LOD
:
samplerObject
->
setMaxLod
(
param
);
break
;
case
GL_TEXTURE_COMPARE_MODE
:
samplerObject
->
setComparisonMode
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_COMPARE_FUNC
:
samplerObject
->
setComparisonFunc
(
RoundedGLFloatCast
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_COMPARE_MODE
:
samplerObject
->
setComparisonMode
(
uiround
<
GLenum
>
(
param
));
break
;
case
GL_TEXTURE_COMPARE_FUNC
:
samplerObject
->
setComparisonFunc
(
uiround
<
GLenum
>
(
param
));
break
;
default
:
UNREACHABLE
();
break
;
}
}
GLint
Context
::
getSamplerParameteri
(
GLuint
sampler
,
GLenum
pname
)
{
mResourceManager
->
checkSamplerAllocation
(
sampler
);
Sampler
*
samplerObject
=
getSampler
(
sampler
);
ASSERT
(
samplerObject
);
switch
(
pname
)
{
case
GL_TEXTURE_MIN_FILTER
:
return
static_cast
<
GLint
>
(
samplerObject
->
getMinFilter
());
case
GL_TEXTURE_MAG_FILTER
:
return
static_cast
<
GLint
>
(
samplerObject
->
getMagFilter
());
case
GL_TEXTURE_WRAP_S
:
return
static_cast
<
GLint
>
(
samplerObject
->
getWrapS
());
case
GL_TEXTURE_WRAP_T
:
return
static_cast
<
GLint
>
(
samplerObject
->
getWrapT
());
case
GL_TEXTURE_WRAP_R
:
return
static_cast
<
GLint
>
(
samplerObject
->
getWrapR
());
case
GL_TEXTURE_MIN_LOD
:
return
uiround
<
GLint
>
(
samplerObject
->
getMinLod
());
case
GL_TEXTURE_MAX_LOD
:
return
uiround
<
GLint
>
(
samplerObject
->
getMaxLod
());
case
GL_TEXTURE_COMPARE_MODE
:
return
static_cast
<
GLint
>
(
samplerObject
->
getComparisonMode
());
case
GL_TEXTURE_COMPARE_FUNC
:
return
static_cast
<
GLint
>
(
samplerObject
->
getComparisonFunc
());
default
:
UNREACHABLE
();
return
0
;
}
}
GLfloat
Context
::
getSamplerParameterf
(
GLuint
sampler
,
GLenum
pname
)
{
mResourceManager
->
checkSamplerAllocation
(
sampler
);
Sampler
*
samplerObject
=
getSampler
(
sampler
);
ASSERT
(
samplerObject
);
switch
(
pname
)
{
case
GL_TEXTURE_MIN_FILTER
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getMinFilter
());
case
GL_TEXTURE_MAG_FILTER
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getMagFilter
());
case
GL_TEXTURE_WRAP_S
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getWrapS
());
case
GL_TEXTURE_WRAP_T
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getWrapT
());
case
GL_TEXTURE_WRAP_R
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getWrapR
());
case
GL_TEXTURE_MIN_LOD
:
return
samplerObject
->
getMinLod
();
case
GL_TEXTURE_MAX_LOD
:
return
samplerObject
->
getMaxLod
();
case
GL_TEXTURE_COMPARE_MODE
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getComparisonMode
());
case
GL_TEXTURE_COMPARE_FUNC
:
return
static_cast
<
GLfloat
>
(
samplerObject
->
getComparisonFunc
());
default
:
UNREACHABLE
();
return
0
;
}
}
// keep list sorted in following order
// OES extensions
// EXT extensions
...
...
src/libGLESv2/Context.h
View file @
9675b808
...
...
@@ -316,6 +316,8 @@ class Context
void
samplerParameteri
(
GLuint
sampler
,
GLenum
pname
,
GLint
param
);
void
samplerParameterf
(
GLuint
sampler
,
GLenum
pname
,
GLfloat
param
);
GLint
getSamplerParameteri
(
GLuint
sampler
,
GLenum
pname
);
GLfloat
getSamplerParameterf
(
GLuint
sampler
,
GLenum
pname
);
Buffer
*
getBuffer
(
GLuint
handle
);
Fence
*
getFence
(
GLuint
handle
);
...
...
src/libGLESv2/Sampler.h
View file @
9675b808
...
...
@@ -31,6 +31,16 @@ class Sampler : public RefCountObject
void
setComparisonMode
(
GLenum
comparisonMode
)
{
mComparisonMode
=
comparisonMode
;
}
void
setComparisonFunc
(
GLenum
comparisonFunc
)
{
mComparisonFunc
=
comparisonFunc
;
}
GLenum
getMinFilter
()
const
{
return
mMinFilter
;
}
GLenum
getMagFilter
()
const
{
return
mMagFilter
;
}
GLenum
getWrapS
()
const
{
return
mWrapS
;
}
GLenum
getWrapT
()
const
{
return
mWrapT
;
}
GLenum
getWrapR
()
const
{
return
mWrapR
;
}
GLfloat
getMinLod
()
const
{
return
mMinLod
;
}
GLfloat
getMaxLod
()
const
{
return
mMaxLod
;
}
GLenum
getComparisonMode
()
const
{
return
mComparisonMode
;
}
GLenum
getComparisonFunc
()
const
{
return
mComparisonFunc
;
}
void
getState
(
SamplerState
*
samplerState
)
const
;
private
:
...
...
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