mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-15 13:10:31 +01:00
Pass pci_id to i915_create()
This commit is contained in:
parent
cb2d95ba68
commit
c12b71ef93
3 changed files with 43 additions and 7 deletions
|
|
@ -33,6 +33,14 @@
|
|||
#include "pipe/draw/draw_context.h"
|
||||
#include "pipe/p_defines.h"
|
||||
|
||||
#define PCI_CHIP_I915_G 0x2582
|
||||
#define PCI_CHIP_I915_GM 0x2592
|
||||
#define PCI_CHIP_I945_G 0x2772
|
||||
#define PCI_CHIP_I945_GM 0x27A2
|
||||
#define PCI_CHIP_I945_GME 0x27AE
|
||||
#define PCI_CHIP_G33_G 0x29C2
|
||||
#define PCI_CHIP_Q35_G 0x29B2
|
||||
#define PCI_CHIP_Q33_G 0x29D2
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -143,14 +151,40 @@ i915_draw_vertices(struct pipe_context *pipe,
|
|||
|
||||
|
||||
|
||||
struct pipe_context *i915_create( struct i915_winsys *winsys )
|
||||
struct pipe_context *i915_create( struct i915_winsys *winsys,
|
||||
unsigned pci_id )
|
||||
{
|
||||
struct i915_context *i915 = CALLOC_STRUCT(i915_context);
|
||||
struct i915_context *i915;
|
||||
unsigned is_i945 = 0;
|
||||
|
||||
/* TODO: Push this down into the pipe driver:
|
||||
*/
|
||||
switch (pci_id) {
|
||||
case PCI_CHIP_I915_G:
|
||||
case PCI_CHIP_I915_GM:
|
||||
break;
|
||||
|
||||
case PCI_CHIP_I945_G:
|
||||
case PCI_CHIP_I945_GM:
|
||||
case PCI_CHIP_I945_GME:
|
||||
case PCI_CHIP_G33_G:
|
||||
case PCI_CHIP_Q33_G:
|
||||
case PCI_CHIP_Q35_G:
|
||||
is_i945 = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
winsys->printf(winsys, "%s: unknown pci id 0x%x, cannot create context\n",
|
||||
__FUNCTION__, pci_id);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
i915 = CALLOC_STRUCT(i915_context);
|
||||
if (i915 == NULL)
|
||||
return NULL;
|
||||
|
||||
i915->pipe.destroy = i915_destroy;
|
||||
|
||||
i915->pipe.supported_formats = i915_supported_formats;
|
||||
|
||||
i915->pipe.draw_vb = i915_draw_vb;
|
||||
i915->pipe.draw_vertices = i915_draw_vertices;
|
||||
i915->pipe.clear = i915_clear;
|
||||
|
|
|
|||
|
|
@ -122,8 +122,9 @@ struct i915_context
|
|||
|
||||
GLuint debug;
|
||||
|
||||
|
||||
struct pipe_scissor_state cliprect;
|
||||
struct {
|
||||
unsigned is_i945:1;
|
||||
} flags;
|
||||
};
|
||||
|
||||
/* A flag for each state_tracker state object:
|
||||
|
|
|
|||
|
|
@ -123,7 +123,8 @@ struct i915_winsys {
|
|||
#define I915_BUFFER_ACCESS_READ 0x2
|
||||
|
||||
|
||||
struct pipe_context *i915_create( struct i915_winsys * );
|
||||
struct pipe_context *i915_create( struct i915_winsys *,
|
||||
unsigned pci_id );
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue