i965: Move the back-end compiler to src/intel/compiler
Mostly a dummy git mv with a couple of noticable parts: - With the earlier header cleanups, nothing in src/intel depends files from src/mesa/drivers/dri/i965/ - Both Autoconf and Android builds are addressed. Thanks to Mauro and Tapani for the fixups in the latter - brw_util.[ch] is not really compiler specific, so it's moved to i965. v2: - move brw_eu_defines.h instead of brw_defines.h - remove no-longer applicable includes - add missing vulkan/ prefix in the Android build (thanks Tapani) v3: - don't list brw_defines.h in src/intel/Makefile.sources (Jason) - rebase on top of the oa patches [Emil Velikov: commit message, various small fixes througout] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
d0d4a5f43b
commit
700bebb958
|
@ -37,7 +37,7 @@ LOCAL_C_INCLUDES := \
|
|||
$(MESA_TOP)/src/gallium/include \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/mesa/drivers/dri/i965
|
||||
$(MESA_TOP)/src/intel
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libmesa_nir
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
#
|
||||
# Copyright (C) 2011 Intel Corporation
|
||||
# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
|
||||
# Copyright (C) 2010-2011 LunarG
|
||||
# Copyright (C) 2016 Linaro, Ltd., Rob Herring <robh@kernel.org>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
@ -20,21 +23,47 @@
|
|||
# DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
ifeq ($(LOCAL_MODULE_CLASS),)
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
endif
|
||||
# ---------------------------------------
|
||||
# Build libmesa_intel_compiler
|
||||
# ---------------------------------------
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libmesa_intel_compiler
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
$(COMPILER_FILES)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(MESA_TOP)/src/intel \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/gallium/auxiliary \
|
||||
$(MESA_TOP)/src/gallium/include \
|
||||
$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_glsl,,)/glsl \
|
||||
$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
|
||||
$(MESA_TOP)/src/compiler/nir
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libdrm_intel
|
||||
|
||||
brw_nir_trig_workarounds_deps := \
|
||||
$(LOCAL_PATH)/brw_nir_trig_workarounds.py \
|
||||
$(LOCAL_PATH)/compiler/brw_nir_trig_workarounds.py \
|
||||
$(MESA_TOP)/src/compiler/nir/nir_algebraic.py
|
||||
|
||||
intermediates := $(call local-generated-sources-dir)
|
||||
|
||||
$(intermediates)/brw_nir_trig_workarounds.c: $(brw_nir_trig_workarounds_deps)
|
||||
$(intermediates)/compiler/brw_nir_trig_workarounds.c: $(brw_nir_trig_workarounds_deps)
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) PYTHONPATH=$(MESA_TOP)/src/compiler/nir $(MESA_PYTHON2) $< > $@
|
||||
|
||||
LOCAL_STATIC_LIBRARIES = libmesa_genxml
|
||||
|
||||
LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
|
||||
$(i965_compiler_GENERATED_FILES))
|
||||
$(COMPILER_GENERATED_FILES))
|
||||
|
||||
LOCAL_GENERATED_SOURCES += $(MESA_GEN_GLSL_H)
|
||||
|
||||
include $(MESA_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
|
@ -25,8 +25,7 @@
|
|||
# ---------------------------------------
|
||||
|
||||
LIBISL_GENX_COMMON_INCLUDES := \
|
||||
$(MESA_TOP)/src/ \
|
||||
$(MESA_TOP)/src/mesa/drivers/dri/i965
|
||||
$(MESA_TOP)/src/
|
||||
|
||||
# ---------------------------------------
|
||||
# Build libmesa_isl_gen4
|
||||
|
@ -176,7 +175,7 @@ LOCAL_C_INCLUDES := \
|
|||
$(MESA_TOP)/src/gallium/auxiliary \
|
||||
$(MESA_TOP)/src/mapi \
|
||||
$(MESA_TOP)/src/mesa \
|
||||
$(MESA_TOP)/src/mesa/drivers/dri/i965 \
|
||||
$(MESA_TOP)/src/intel
|
||||
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ include $(LOCAL_PATH)/Makefile.sources
|
|||
|
||||
include $(LOCAL_PATH)/Android.blorp.mk
|
||||
include $(LOCAL_PATH)/Android.common.mk
|
||||
include $(LOCAL_PATH)/Android.compiler.mk
|
||||
include $(LOCAL_PATH)/Android.genxml.mk
|
||||
include $(LOCAL_PATH)/Android.isl.mk
|
||||
include $(LOCAL_PATH)/vulkan/Android.mk
|
||||
|
|
|
@ -26,12 +26,15 @@ AM_CPPFLAGS = \
|
|||
-I$(top_srcdir)/include \
|
||||
-I$(top_builddir)/src \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_builddir)/src/compiler/glsl \
|
||||
-I$(top_srcdir)/src/compiler/glsl \
|
||||
-I$(top_builddir)/src/compiler/nir \
|
||||
-I$(top_srcdir)/src/compiler/nir \
|
||||
-I$(top_srcdir)/src/gtest/include \
|
||||
-I$(top_builddir)/src/intel \
|
||||
-I$(top_srcdir)/src/intel \
|
||||
-I$(top_srcdir)/src/mapi \
|
||||
-I$(top_srcdir)/src/mesa \
|
||||
-I$(top_srcdir)/src/mesa/drivers/dri/i965 \
|
||||
-I$(top_srcdir)/src/gallium/auxiliary \
|
||||
-I$(top_srcdir)/src/gallium/include \
|
||||
$(INTEL_CFLAGS) \
|
||||
|
@ -54,6 +57,7 @@ EXTRA_DIST =
|
|||
|
||||
include Makefile.blorp.am
|
||||
include Makefile.common.am
|
||||
include Makefile.compiler.am
|
||||
include Makefile.genxml.am
|
||||
include Makefile.isl.am
|
||||
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
# Copyright 2015-2016 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.
|
||||
|
||||
noinst_LTLIBRARIES += compiler/libintel_compiler.la
|
||||
|
||||
compiler_libintel_compiler_la_CPPFLAGS = \
|
||||
-I$(top_builddir)/src/intel/compiler \
|
||||
-I$(top_srcdir)/src/intel/compiler \
|
||||
$(AM_CPPFLAGS)
|
||||
|
||||
compiler_libintel_compiler_la_SOURCES = \
|
||||
$(COMPILER_FILES) \
|
||||
$(COMPILER_GENERATED_FILES)
|
||||
|
||||
BUILT_SOURCES += $(COMPILER_GENERATED_FILES)
|
||||
|
||||
compiler/brw_nir_trig_workarounds.c: compiler/brw_nir_trig_workarounds.py \
|
||||
$(top_srcdir)/src/compiler/nir/nir_algebraic.py
|
||||
$(MKDIR_GEN)
|
||||
$(AM_V_GEN) PYTHONPATH=$(top_srcdir)/src/compiler/nir $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/compiler/brw_nir_trig_workarounds.py > $@ || ($(RM) $@; false)
|
||||
|
||||
EXTRA_DIST += \
|
||||
compiler/brw_nir_trig_workarounds.py
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Tests
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
TEST_LIBS = \
|
||||
compiler/libintel_compiler.la \
|
||||
common/libintel_common.la \
|
||||
$(top_builddir)/src/compiler/nir/libnir.la \
|
||||
$(top_builddir)/src/util/libmesautil.la \
|
||||
$(top_builddir)/src/intel/isl/libisl.la \
|
||||
$(PTHREAD_LIBS) \
|
||||
$(DLOPEN_LIBS)
|
||||
|
||||
COMPILER_TESTS = \
|
||||
compiler/test_fs_cmod_propagation \
|
||||
compiler/test_fs_copy_propagation \
|
||||
compiler/test_fs_saturate_propagation \
|
||||
compiler/test_eu_compact \
|
||||
compiler/test_eu_validate \
|
||||
compiler/test_vf_float_conversions \
|
||||
compiler/test_vec4_cmod_propagation \
|
||||
compiler/test_vec4_copy_propagation \
|
||||
compiler/test_vec4_register_coalesce
|
||||
|
||||
TESTS += $(COMPILER_TESTS)
|
||||
check_PROGRAMS += $(COMPILER_TESTS)
|
||||
|
||||
compiler_test_fs_cmod_propagation_SOURCES = \
|
||||
compiler/test_fs_cmod_propagation.cpp
|
||||
compiler_test_fs_cmod_propagation_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_fs_copy_propagation_SOURCES = \
|
||||
compiler/test_fs_copy_propagation.cpp
|
||||
compiler_test_fs_copy_propagation_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_fs_saturate_propagation_SOURCES = \
|
||||
compiler/test_fs_saturate_propagation.cpp
|
||||
compiler_test_fs_saturate_propagation_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_vf_float_conversions_SOURCES = \
|
||||
compiler/test_vf_float_conversions.cpp
|
||||
compiler_test_vf_float_conversions_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_vec4_register_coalesce_SOURCES = \
|
||||
compiler/test_vec4_register_coalesce.cpp
|
||||
compiler_test_vec4_register_coalesce_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_vec4_copy_propagation_SOURCES = \
|
||||
compiler/test_vec4_copy_propagation.cpp
|
||||
compiler_test_vec4_copy_propagation_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_vec4_cmod_propagation_SOURCES = \
|
||||
compiler/test_vec4_cmod_propagation.cpp
|
||||
compiler_test_vec4_cmod_propagation_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
||||
|
||||
compiler_test_eu_compact_SOURCES = \
|
||||
compiler/test_eu_compact.c
|
||||
nodist_EXTRA_compiler_test_eu_compact_SOURCES = dummy.cpp
|
||||
compiler_test_eu_compact_LDADD = $(TEST_LIBS)
|
||||
|
||||
compiler_test_eu_validate_SOURCES = \
|
||||
compiler/test_eu_validate.cpp
|
||||
compiler_test_eu_validate_LDADD = \
|
||||
$(top_builddir)/src/gtest/libgtest.la \
|
||||
$(TEST_LIBS)
|
|
@ -16,6 +16,95 @@ COMMON_FILES = \
|
|||
common/gen_urb_config.c \
|
||||
common/gen_sample_positions.h
|
||||
|
||||
COMPILER_FILES = \
|
||||
compiler/brw_cfg.cpp \
|
||||
compiler/brw_cfg.h \
|
||||
compiler/brw_compiler.c \
|
||||
compiler/brw_compiler.h \
|
||||
compiler/brw_dead_control_flow.cpp \
|
||||
compiler/brw_dead_control_flow.h \
|
||||
compiler/brw_disasm.c \
|
||||
compiler/brw_eu.c \
|
||||
compiler/brw_eu_compact.c \
|
||||
compiler/brw_eu_defines.h \
|
||||
compiler/brw_eu_emit.c \
|
||||
compiler/brw_eu.h \
|
||||
compiler/brw_eu_util.c \
|
||||
compiler/brw_eu_validate.c \
|
||||
compiler/brw_fs_builder.h \
|
||||
compiler/brw_fs_cmod_propagation.cpp \
|
||||
compiler/brw_fs_combine_constants.cpp \
|
||||
compiler/brw_fs_copy_propagation.cpp \
|
||||
compiler/brw_fs.cpp \
|
||||
compiler/brw_fs_cse.cpp \
|
||||
compiler/brw_fs_dead_code_eliminate.cpp \
|
||||
compiler/brw_fs_generator.cpp \
|
||||
compiler/brw_fs.h \
|
||||
compiler/brw_fs_live_variables.cpp \
|
||||
compiler/brw_fs_live_variables.h \
|
||||
compiler/brw_fs_lower_d2x.cpp \
|
||||
compiler/brw_fs_lower_pack.cpp \
|
||||
compiler/brw_fs_nir.cpp \
|
||||
compiler/brw_fs_reg_allocate.cpp \
|
||||
compiler/brw_fs_register_coalesce.cpp \
|
||||
compiler/brw_fs_saturate_propagation.cpp \
|
||||
compiler/brw_fs_sel_peephole.cpp \
|
||||
compiler/brw_fs_surface_builder.cpp \
|
||||
compiler/brw_fs_surface_builder.h \
|
||||
compiler/brw_fs_validate.cpp \
|
||||
compiler/brw_fs_visitor.cpp \
|
||||
compiler/brw_inst.h \
|
||||
compiler/brw_interpolation_map.c \
|
||||
compiler/brw_ir_allocator.h \
|
||||
compiler/brw_ir_fs.h \
|
||||
compiler/brw_ir_vec4.h \
|
||||
compiler/brw_nir.h \
|
||||
compiler/brw_nir.c \
|
||||
compiler/brw_nir_analyze_boolean_resolves.c \
|
||||
compiler/brw_nir_attribute_workarounds.c \
|
||||
compiler/brw_nir_intrinsics.c \
|
||||
compiler/brw_nir_opt_peephole_ffma.c \
|
||||
compiler/brw_nir_tcs_workarounds.c \
|
||||
compiler/brw_packed_float.c \
|
||||
compiler/brw_predicated_break.cpp \
|
||||
compiler/brw_reg.h \
|
||||
compiler/brw_schedule_instructions.cpp \
|
||||
compiler/brw_shader.cpp \
|
||||
compiler/brw_shader.h \
|
||||
compiler/brw_vec4_builder.h \
|
||||
compiler/brw_vec4_cmod_propagation.cpp \
|
||||
compiler/brw_vec4_copy_propagation.cpp \
|
||||
compiler/brw_vec4.cpp \
|
||||
compiler/brw_vec4_cse.cpp \
|
||||
compiler/brw_vec4_dead_code_eliminate.cpp \
|
||||
compiler/brw_vec4_generator.cpp \
|
||||
compiler/brw_vec4_gs_visitor.cpp \
|
||||
compiler/brw_vec4_gs_visitor.h \
|
||||
compiler/brw_vec4.h \
|
||||
compiler/brw_vec4_live_variables.cpp \
|
||||
compiler/brw_vec4_live_variables.h \
|
||||
compiler/brw_vec4_nir.cpp \
|
||||
compiler/brw_vec4_gs_nir.cpp \
|
||||
compiler/brw_vec4_reg_allocate.cpp \
|
||||
compiler/brw_vec4_surface_builder.cpp \
|
||||
compiler/brw_vec4_surface_builder.h \
|
||||
compiler/brw_vec4_tcs.cpp \
|
||||
compiler/brw_vec4_tcs.h \
|
||||
compiler/brw_vec4_tes.cpp \
|
||||
compiler/brw_vec4_tes.h \
|
||||
compiler/brw_vec4_visitor.cpp \
|
||||
compiler/brw_vec4_vs_visitor.cpp \
|
||||
compiler/brw_vec4_vs.h \
|
||||
compiler/brw_vue_map.c \
|
||||
compiler/brw_wm_iz.cpp \
|
||||
compiler/gen6_gs_visitor.cpp \
|
||||
compiler/gen6_gs_visitor.h \
|
||||
compiler/intel_asm_annotation.c \
|
||||
compiler/intel_asm_annotation.h
|
||||
|
||||
COMPILER_GENERATED_FILES = \
|
||||
compiler/brw_nir_trig_workarounds.c
|
||||
|
||||
GENXML_GENERATED_FILES = \
|
||||
genxml/gen4_pack.h \
|
||||
genxml/gen45_pack.h \
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
#include "program/prog_instruction.h"
|
||||
|
||||
#include "blorp_priv.h"
|
||||
#include "brw_compiler.h"
|
||||
#include "brw_nir.h"
|
||||
#include "compiler/brw_compiler.h"
|
||||
#include "compiler/brw_nir.h"
|
||||
|
||||
void
|
||||
blorp_init(struct blorp_context *blorp, void *driver_ctx,
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "util/format_rgb9e5.h"
|
||||
|
||||
#include "blorp_priv.h"
|
||||
#include "brw_eu_defines.h"
|
||||
#include "compiler/brw_eu_defines.h"
|
||||
|
||||
#include "compiler/nir/nir_builder.h"
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <stdint.h>
|
||||
|
||||
#include "compiler/nir/nir.h"
|
||||
#include "brw_compiler.h"
|
||||
#include "compiler/brw_compiler.h"
|
||||
|
||||
#include "blorp.h"
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
brw_nir_trig_workarounds.c
|
||||
test_eu_compact
|
||||
test_eu_validate
|
||||
test_fs_cmod_propagation
|
||||
test_fs_copy_propagation
|
||||
test_fs_saturate_propagation
|
||||
test_vec4_cmod_propagation
|
||||
test_vec4_copy_propagation
|
||||
test_vec4_register_coalesce
|
||||
test_vf_float_conversions
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue