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
aa0ccbd9
Commit
aa0ccbd9
authored
Apr 15, 2010
by
daniel@transgaming.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implements GetBufferParameteriv
TRAC #11720 Author: Shannon Woods git-svn-id:
https://angleproject.googlecode.com/svn/trunk@151
736b8ea6-26fd-11df-bfd4-992fa37f6226
parent
34dc3e8a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
38 additions
and
1 deletion
+38
-1
Buffer.cpp
src/libGLESv2/Buffer.cpp
+2
-0
Buffer.h
src/libGLESv2/Buffer.h
+2
-0
libGLESv2.cpp
src/libGLESv2/libGLESv2.cpp
+34
-1
No files found.
src/libGLESv2/Buffer.cpp
View file @
aa0ccbd9
...
...
@@ -65,6 +65,8 @@ GLenum Buffer::bufferData(const void* data, GLsizeiptr size, GLenum usage)
mContents
.
assign
(
newdata
,
newdata
+
size
);
}
mUsage
=
usage
;
return
copyToIdentityBuffer
(
0
,
size
);
}
...
...
src/libGLESv2/Buffer.h
View file @
aa0ccbd9
...
...
@@ -36,6 +36,7 @@ class Buffer
void
*
data
()
{
return
&
mContents
[
0
];
}
GLsizeiptr
size
()
const
{
return
mContents
.
size
();
}
GLenum
usage
()
const
{
return
mUsage
;
}
TranslatedVertexBuffer
*
identityBuffer
()
{
return
mIdentityTranslation
;
}
...
...
@@ -43,6 +44,7 @@ class Buffer
DISALLOW_COPY_AND_ASSIGN
(
Buffer
);
std
::
vector
<
GLubyte
>
mContents
;
GLenum
mUsage
;
BufferBackEnd
*
mBackEnd
;
TranslatedVertexBuffer
*
mIdentityTranslation
;
...
...
src/libGLESv2/libGLESv2.cpp
View file @
aa0ccbd9
...
...
@@ -2031,7 +2031,40 @@ void __stdcall glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params
try
{
UNIMPLEMENTED
();
// FIXME
gl
::
Context
*
context
=
gl
::
getContext
();
if
(
context
)
{
gl
::
Buffer
*
buffer
;
switch
(
target
)
{
case
GL_ARRAY_BUFFER
:
buffer
=
context
->
getArrayBuffer
();
break
;
case
GL_ELEMENT_ARRAY_BUFFER
:
buffer
=
context
->
getElementArrayBuffer
();
break
;
default
:
return
error
(
GL_INVALID_ENUM
);
}
if
(
!
buffer
)
{
// A null buffer means that "0" is bound to the requested buffer target
return
error
(
GL_INVALID_OPERATION
);
}
switch
(
pname
)
{
case
GL_BUFFER_USAGE
:
*
params
=
buffer
->
usage
();
break
;
case
GL_BUFFER_SIZE
:
*
params
=
buffer
->
size
();
break
;
default
:
return
error
(
GL_INVALID_ENUM
);
}
}
}
catch
(
std
::
bad_alloc
&
)
{
...
...
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