radv: drop entrypoint split out.

radv really doesn't need different dispatch per gen yet,
there really isn't that many differences yet.

Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie
2016-10-11 15:57:58 +10:00
parent 12301c5418
commit 014ec78fb2
3 changed files with 2 additions and 73 deletions

View File

@@ -1,36 +0,0 @@
/*
* Copyright © 2016 Red Hat.
*
* 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.
*/
#ifndef RADV_DEVICE_INFO_H
#define RADV_DEVICE_INFO_H
#include <amdgpu.h>
#include "radv_radeon_winsys.h"
struct radv_device_info {
uint32_t pci_id;
enum chip_class chip_class;
};
#endif /* RADV_DEVICE_INFO_H */

View File

@@ -125,14 +125,9 @@ if opt_header:
print " };\n"
print "};\n"
print "void radv_set_dispatch_devinfo(const struct radv_device_info *info);\n"
for type, name, args, num, h in entrypoints:
print_guard_start(name)
print "%s radv_%s%s;" % (type, name, args)
print "%s vi_%s%s;" % (type, name, args)
print "%s cik_%s%s;" % (type, name, args)
print "%s si_%s%s;" % (type, name, args)
print "%s radv_validate_%s%s;" % (type, name, args)
print_guard_end(name)
exit()
@@ -201,7 +196,7 @@ print """
*/
"""
for layer in [ "radv", "validate", "si", "cik", "vi" ]:
for layer in [ "radv", "validate" ]:
for type, name, args, num, h in entrypoints:
print_guard_start(name)
print "%s %s_%s%s __attribute__ ((weak));" % (type, layer, name, args)
@@ -235,43 +230,14 @@ determine_validate(void)
enable_validate = atoi(s);
}
static const struct radv_device_info *dispatch_devinfo;
void
radv_set_dispatch_devinfo(const struct radv_device_info *devinfo)
{
dispatch_devinfo = devinfo;
}
void * __attribute__ ((noinline))
radv_resolve_entrypoint(uint32_t index)
{
if (enable_validate && validate_layer.entrypoints[index])
return validate_layer.entrypoints[index];
if (dispatch_devinfo == NULL) {
return radv_layer.entrypoints[index];
}
switch (dispatch_devinfo->chip_class) {
case VI:
if (vi_layer.entrypoints[index])
return vi_layer.entrypoints[index];
/* fall through */
case CIK:
if (cik_layer.entrypoints[index])
return cik_layer.entrypoints[index];
/* fall through */
case SI:
if (si_layer.entrypoints[index])
return si_layer.entrypoints[index];
/* fall through */
case 0:
return radv_layer.entrypoints[index];
default:
unreachable("unsupported gen\\n");
}
}
"""
# Now generate the hash table used for entry point look up. This is a

View File

@@ -45,7 +45,6 @@
#endif
#include <amdgpu.h>
#include "radv_device_info.h"
#include "compiler/shader_enums.h"
#include "util/macros.h"
#include "util/list.h"