Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mesa
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
virgl-es
mesa
Commits
2edc87eb
Commit
2edc87eb
authored
Nov 05, 2007
by
Brian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
clean-up/re-org of intel_framebuffer code
parent
1f17d845
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
57 additions
and
31 deletions
+57
-31
src/mesa/drivers/dri/intel_winsys/intel_context.c
src/mesa/drivers/dri/intel_winsys/intel_context.c
+6
-5
src/mesa/drivers/dri/intel_winsys/intel_context.h
src/mesa/drivers/dri/intel_winsys/intel_context.h
+28
-4
src/mesa/drivers/dri/intel_winsys/intel_screen.c
src/mesa/drivers/dri/intel_winsys/intel_screen.c
+16
-4
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
+4
-4
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h
+3
-14
No files found.
src/mesa/drivers/dri/intel_winsys/intel_context.c
View file @
2edc87eb
...
...
@@ -206,16 +206,17 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv,
if
(
driContextPriv
)
{
struct
intel_context
*
intel
=
(
struct
intel_context
*
)
driContextPriv
->
driverPrivate
;
struct
st_framebuffer
*
draw_fb
=
(
struct
st_framebuffer
*
)
driDrawPriv
->
driverPrivate
;
struct
st_framebuffer
*
read_fb
=
(
struct
st_framebuffer
*
)
driReadPriv
->
driverPrivate
;
struct
intel_framebuffer
*
draw_fb
=
intel_framebuffer
(
driDrawPriv
);
struct
intel_framebuffer
*
read_fb
=
intel_framebuffer
(
driReadPriv
);
assert
(
draw_fb
->
stfb
);
assert
(
read_fb
->
stfb
);
/* this is a hack so we have a valid context when the region allocation
is done. Need a per-screen context? */
intel
->
intelScreen
->
dummyctxptr
=
intel
;
st_make_current
(
intel
->
st
,
draw_fb
,
read_
fb
);
st_make_current
(
intel
->
st
,
draw_fb
->
stfb
,
read_fb
->
st
fb
);
if
((
intel
->
driDrawable
!=
driDrawPriv
)
||
(
intel
->
lastStamp
!=
driDrawPriv
->
lastStamp
))
{
...
...
src/mesa/drivers/dri/intel_winsys/intel_context.h
View file @
2edc87eb
...
...
@@ -46,6 +46,9 @@ struct st_context;
#define INTEL_MAX_FIXUP 64
/**
* Intel rendering context, contains a state tracker and intel-specific info.
*/
struct
intel_context
{
struct
st_context
*
st
;
...
...
@@ -79,6 +82,22 @@ struct intel_context
driOptionCache
optionCache
;
};
/**
* Intel framebuffer.
*/
struct
intel_framebuffer
{
struct
st_framebuffer
*
stfb
;
/* other fields TBD */
int
other
;
};
/* These are functions now:
*/
void
LOCK_HARDWARE
(
struct
intel_context
*
intel
);
...
...
@@ -124,10 +143,7 @@ extern int __intel_debug;
#define PCI_CHIP_Q33_G 0x29D2
/*======================================================================
* Inline conversion functions.
* These are better-typed than the macros used previously:
*/
/** Cast wrapper */
static
INLINE
struct
intel_context
*
intel_context
(
GLcontext
*
ctx
)
{
...
...
@@ -135,4 +151,12 @@ intel_context(GLcontext * ctx)
}
/** Cast wrapper */
static
INLINE
struct
intel_framebuffer
*
intel_framebuffer
(
__DRIdrawablePrivate
*
driDrawPriv
)
{
return
(
struct
intel_framebuffer
*
)
driDrawPriv
->
driverPrivate
;
}
#endif
src/mesa/drivers/dri/intel_winsys/intel_screen.c
View file @
2edc87eb
...
...
@@ -29,6 +29,7 @@
#include "vblank.h"
#include "xmlpool.h"
#include "intel_context.h"
#include "intel_screen.h"
#include "intel_batchbuffer.h"
#include "intel_swapbuffers.h"
...
...
@@ -280,8 +281,17 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv,
return
GL_FALSE
;
/* not implemented */
}
else
{
struct
st_framebuffer
*
stfb
=
st_create_framebuffer
(
mesaVis
);
driDrawPriv
->
driverPrivate
=
(
void
*
)
stfb
;
struct
intel_framebuffer
*
intelfb
=
CALLOC_STRUCT
(
intel_framebuffer
);
if
(
!
intelfb
)
return
GL_FALSE
;
intelfb
->
stfb
=
st_create_framebuffer
(
mesaVis
);
if
(
!
intelfb
->
stfb
)
{
free
(
intelfb
);
return
GL_FALSE
;
}
driDrawPriv
->
driverPrivate
=
(
void
*
)
intelfb
;
return
GL_TRUE
;
}
}
...
...
@@ -289,8 +299,10 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv,
static
void
intelDestroyBuffer
(
__DRIdrawablePrivate
*
driDrawPriv
)
{
st_unreference_framebuffer
((
struct
st_framebuffer
**
)
(
&
(
driDrawPriv
->
driverPrivate
)));
struct
intel_framebuffer
*
intelfb
=
intel_framebuffer
(
driDrawPriv
);
assert
(
intelfb
->
stfb
);
st_unreference_framebuffer
(
&
intelfb
->
stfb
);
free
(
intelfb
);
}
...
...
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.c
View file @
2edc87eb
...
...
@@ -70,7 +70,7 @@ get_color_surface(struct intel_framebuffer *intel_fb,
GLuint
bufferIndex
)
{
struct
st_renderbuffer
*
strb
=
st_renderbuffer
(
intel_fb
->
Base
.
Attachment
[
bufferIndex
].
Renderbuffer
);
=
st_renderbuffer
(
intel_fb
->
stfb
->
Base
.
Attachment
[
bufferIndex
].
Renderbuffer
);
if
(
strb
)
return
strb
->
surface
;
return
NULL
;
...
...
@@ -236,9 +236,9 @@ intelDisplaySurface(__DRIdrawablePrivate * dPriv,
void
intelUpdateWindowSize
(
__DRIdrawablePrivate
*
dPriv
)
{
struct
st_framebuffer
*
stfb
=
(
struct
st_framebuffer
*
)
dPriv
->
driverPrivate
;
st_resize_framebuffer
(
stfb
,
dPriv
->
w
,
dPriv
->
h
);
struct
intel_framebuffer
*
intelfb
=
intel_framebuffer
(
dPriv
);
assert
(
intelfb
->
stfb
)
;
st_resize_framebuffer
(
intelfb
->
stfb
,
dPriv
->
w
,
dPriv
->
h
);
}
...
...
src/mesa/drivers/dri/intel_winsys/intel_swapbuffers.h
View file @
2edc87eb
...
...
@@ -25,19 +25,8 @@
*
**************************************************************************/
#ifndef INTEL_BUFFERS_H
#define INTEL_BUFFERS_H
/**
* Intel framebuffer, derived from gl_framebuffer.
*/
struct
intel_framebuffer
{
struct
gl_framebuffer
Base
;
};
#ifndef INTEL_SWAPBUFFERS_H
#define INTEL_SWAPBUFFERS_H
extern
void
intelDisplaySurface
(
__DRIdrawablePrivate
*
dPriv
,
...
...
@@ -52,4 +41,4 @@ extern void intelCopySubBuffer(__DRIdrawablePrivate * dPriv,
extern
void
intelUpdateWindowSize
(
__DRIdrawablePrivate
*
dPriv
);
#endif
/* INTEL_BUFFERS_H */
#endif
/* INTEL_
SWAP
BUFFERS_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