diff options
author | Damien Lespiau <damien.lespiau@intel.com> | 2013-01-19 17:05:48 +0000 |
---|---|---|
committer | Damien Lespiau <damien.lespiau@intel.com> | 2013-03-04 15:54:37 +0000 |
commit | 609a8453fb907041db52e8e029bc33f6bd49d907 (patch) | |
tree | e431f7fbdab8b94c867d11739c9bb2df156ed15c /assembler | |
parent | 3ee5808d63be8c9604849b491d64e692315e8470 (diff) |
assembler: Introduce struct brw_context
A lot of the mesa code use struct brw_context to get the GPU generation
and various information. Let's stub this structure and initialize it
ourselves to be able to resuse mesa's code untouched.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Diffstat (limited to 'assembler')
-rw-r--r-- | assembler/Makefile.am | 2 | ||||
-rw-r--r-- | assembler/brw_context.c | 44 | ||||
-rw-r--r-- | assembler/brw_context.h | 60 | ||||
-rw-r--r-- | assembler/brw_eu.h | 1 |
4 files changed, 107 insertions, 0 deletions
diff --git a/assembler/Makefile.am b/assembler/Makefile.am index d4733d3d..9bd32894 100644 --- a/assembler/Makefile.am +++ b/assembler/Makefile.am @@ -11,6 +11,8 @@ gram.h: gram.c intel_gen4asm_SOURCES = \ brw_compat.h \ + brw_context.c \ + brw_context.h \ ralloc.c \ ralloc.h \ brw_defines.h \ diff --git a/assembler/brw_context.c b/assembler/brw_context.c new file mode 100644 index 00000000..6f2a964b --- /dev/null +++ b/assembler/brw_context.c @@ -0,0 +1,44 @@ +/* + * Copyright © 2013 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include <string.h> + +#include "brw_context.h" + +static bool +intel_init_context(struct intel_context *intel, int gen) +{ + memset(intel, 0, sizeof(struct intel_context)); + intel->gen = gen / 10; + intel->is_haswell = gen == 75; + if (intel->gen >= 5) + intel->needs_ff_sync = true; + + return true; +} + +bool +brw_init_context(struct brw_context *brw, int gen) +{ + return intel_init_context(&brw->intel, gen); +} diff --git a/assembler/brw_context.h b/assembler/brw_context.h new file mode 100644 index 00000000..f0e3a350 --- /dev/null +++ b/assembler/brw_context.h @@ -0,0 +1,60 @@ +/* + * Copyright © 2013 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +/* + * To share code with mesa without having to do big modifications and still be + * able to sync files together at a later point, this file stubs the fields + * of struct brw_context used by the code we import. + */ + +#ifndef __BRW_CONTEXT_H__ +#define __BRW_CONTEXT_H__ + +#include <stdbool.h> + +#ifdef __cplusplus +extern "C" { +#endif + +struct intel_context +{ + int gen; + int gt; + bool is_haswell; + bool is_g4x; + bool needs_ff_sync; +}; + +struct brw_context +{ + struct intel_context intel; +}; + +bool +brw_init_context(struct brw_context *brw, int gen); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* __BRW_CONTEXT_H__ */ diff --git a/assembler/brw_eu.h b/assembler/brw_eu.h index 262a40bc..f3e99faa 100644 --- a/assembler/brw_eu.h +++ b/assembler/brw_eu.h @@ -34,6 +34,7 @@ #define BRW_EU_H #include <stdbool.h> +#include "brw_context.h" #include "brw_structs.h" #include "brw_defines.h" #include "brw_reg.h" |