now uses DIRECT_BUFFER_INFO_AREA_SIZE as the direct_buffer_info area size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28525 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -9,6 +9,9 @@
|
|||||||
#include <OS.h>
|
#include <OS.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define DIRECT_BUFFER_INFO_AREA_SIZE B_PAGE_SIZE
|
||||||
|
|
||||||
|
|
||||||
struct direct_window_sync_data {
|
struct direct_window_sync_data {
|
||||||
area_id area;
|
area_id area;
|
||||||
sem_id disable_sem;
|
sem_id disable_sem;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ if $(TARGET_PLATFORM) != haiku {
|
|||||||
SubDirC++Flags [ FDefines $(defines) ] ;
|
SubDirC++Flags [ FDefines $(defines) ] ;
|
||||||
}
|
}
|
||||||
|
|
||||||
UsePrivateHeaders opengl ;
|
UsePrivateHeaders interface opengl ;
|
||||||
|
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa ] ;
|
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa ] ;
|
||||||
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa main ] ;
|
UseHeaders [ FDirName $(HAIKU_TOP) src kits opengl mesa main ] ;
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "MesaSoftwareRenderer.h"
|
#include "MesaSoftwareRenderer.h"
|
||||||
|
|
||||||
#include <Autolock.h>
|
#include <Autolock.h>
|
||||||
|
#include <DirectWindowPrivate.h>
|
||||||
#include <GraphicsDefs.h>
|
#include <GraphicsDefs.h>
|
||||||
#include <Screen.h>
|
#include <Screen.h>
|
||||||
|
|
||||||
@@ -563,11 +564,9 @@ MesaSoftwareRenderer::DirectConnected(direct_buffer_info *info)
|
|||||||
BAutolock lock(fInfoLocker);
|
BAutolock lock(fInfoLocker);
|
||||||
if (info) {
|
if (info) {
|
||||||
if (!fInfo) {
|
if (!fInfo) {
|
||||||
// TODO size of info != sizeof(direct_buffer_info)
|
fInfo = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||||
// see GLView.cpp in glview_direct_info::glview_direct_info()
|
|
||||||
fInfo = (direct_buffer_info *)calloc(1, B_PAGE_SIZE);
|
|
||||||
}
|
}
|
||||||
memcpy(fInfo, info, B_PAGE_SIZE);
|
memcpy(fInfo, info, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||||
} else if (fInfo) {
|
} else if (fInfo) {
|
||||||
free(fInfo);
|
free(fInfo);
|
||||||
fInfo = NULL;
|
fInfo = NULL;
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
#include <DirectWindow.h>
|
#include <DirectWindow.h>
|
||||||
#include <GLRenderer.h>
|
#include <GLRenderer.h>
|
||||||
|
|
||||||
|
#include "DirectWindowPrivate.h"
|
||||||
#include "GLRendererRoster.h"
|
#include "GLRendererRoster.h"
|
||||||
|
|
||||||
struct glview_direct_info {
|
struct glview_direct_info {
|
||||||
@@ -568,7 +569,7 @@ const char * color_space_name(color_space space)
|
|||||||
glview_direct_info::glview_direct_info()
|
glview_direct_info::glview_direct_info()
|
||||||
{
|
{
|
||||||
// TODO: See direct_window_data() in app_server's ServerWindow.cpp
|
// TODO: See direct_window_data() in app_server's ServerWindow.cpp
|
||||||
direct_info = (direct_buffer_info *)calloc(1, B_PAGE_SIZE);
|
direct_info = (direct_buffer_info *)calloc(1, DIRECT_BUFFER_INFO_AREA_SIZE);
|
||||||
direct_connected = false;
|
direct_connected = false;
|
||||||
enable_direct_mode = false;
|
enable_direct_mode = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ SubDir HAIKU_TOP src kits opengl ;
|
|||||||
|
|
||||||
SetSubDirSupportedPlatformsBeOSCompatible ;
|
SetSubDirSupportedPlatformsBeOSCompatible ;
|
||||||
|
|
||||||
UsePrivateHeaders opengl ;
|
UsePrivateHeaders interface opengl ;
|
||||||
UsePrivateSystemHeaders ;
|
UsePrivateSystemHeaders ;
|
||||||
|
|
||||||
if $(TARGET_PLATFORM) != haiku {
|
if $(TARGET_PLATFORM) != haiku {
|
||||||
|
|||||||
Reference in New Issue
Block a user