vghwinterface/vghwapiwrapper/inc/simulator_graphicswrapper.h
author Matt Plumtree <matt.plumtree@nokia.com>
Tue, 02 Nov 2010 09:40:31 +0000
branchbug235_bringup_0
changeset 71 243bbc1d70db
parent 53 vghwinterface/vghwapiwrapper/inc/syborg-graphicswrapper.h@c2ef9095503a
permissions -rw-r--r--
Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU! Make KhronosAPIWrapper buildable using GCC.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
     1
#ifndef _SIMULATOR_GRAPHICSWRAPPER_H
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
     2
#define _SIMULATOR_GRAPHICSWRAPPER_H
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
     3
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
     4
#pragma once
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
     5
					  
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
     6
#ifdef WIN32
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
     7
#ifdef SIMULATOR_GRAPHICSWRAPPER_EXPORTS
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
     8
#define SIMULATOR_GRAPHICSWRAPPER_API __declspec(dllexport)
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
     9
#else
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    10
#define SIMULATOR_GRAPHICSWRAPPER_API __declspec(dllimport)
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    11
#endif
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    12
#else
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    13
#define SIMULATOR_GRAPHICSWRAPPER_API
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    14
#endif
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    15
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    16
Psu::PLATFORM_SEMAPHORE_T m_outputBufferSemaphore;
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    17
int (*m_pythonCallBack)(int); 
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    18
KhronosAPIWrapper* m_wrapper;
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    19
														   
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    20
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    21
// Derived from GraphicsVirtualHW.lisa
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    22
static const int VVHW_BUFFER (0x3000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    23
static const int VVHW_INPUT_BUFFER (0x1000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    24
static const int VVHW_INPUT_BASE(0x0);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    25
static const int VVHW_OUTPUT_BUFFER (0x1000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    26
static const int VVHW_OUTPUT_BASE(0x1000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    27
static const int VVHW_FRAME_BUFFER (0x1000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    28
static const int VVHW_FRAME_BASE(0x2000000);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    29
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    30
class SimulatorGraphicsWrapper : public MGraphicsVHWCallback
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    31
    {
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    32
    public:
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    33
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    34
        SimulatorGraphicsWrapper();
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    35
        ~SimulatorGraphicsWrapper();
36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    36
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    37
        int Reset( uint32_t *aGraphicsMemBase,  uint32_t *aCommandMemBase );
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    38
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    39
        virtual void LockOutputBuffer();
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    40
	    virtual void ReleaseOutputBuffer();
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    41
	    virtual void ProcessingDone(int i);
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    42
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    43
    private:
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    44
    };
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    45
563aa0c4cea3 Moved syborggraphicswrapper from qemu package
Gareth Stockwell <gareth.stockwell@accenture.com>
parents:
diff changeset
    46
71
243bbc1d70db Expose wrapper C interface for Syborg from KhronosAPIWrapper. Needs update to QEMU!
Matt Plumtree <matt.plumtree@nokia.com>
parents: 53
diff changeset
    47
#endif // _SIMULATOR_GRAPHICSWRAPPER_H