Commit 700bebb9 authored by Jason Ekstrand's avatar Jason Ekstrand Committed by Emil Velikov

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: default avatarEmil Velikov <emil.velikov@collabora.com>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
parent d0d4a5f4
......@@ -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
......
#
# 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
......
# 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"
......
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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment